Commit graph

633 commits

Author SHA1 Message Date
Yulia Startsev
f291451846 Bug 1311726 - Only set "ProcessingScript" tag when executing; r=jonco
Previously, we were setting the ProcessingScriptTag for Module compilation as well as script
execution. This patch creates a helper function (GetGlobalWithContext) and removes a superfluous
setting of the "ProcessingScriptTag".

ProcessingScriptTag should be set when a script is executing, as it helps correct our behavior
around history replacement during JS execution: https://searchfox.org/mozilla-central/rev/e9cd2997be1071b9bb76fc14df0f01a2bd721c30/dom/base/LocationBase.cpp#223-231

Differential Revision: https://phabricator.services.mozilla.com/D132603
2021-12-08 16:57:15 +00:00
Narcis Beleuzu
ff5735371d Backed out 18 changesets (bug 1311726) for failures on test_script_loader_js_cache.html . CLOSED TREE
Backed out changeset 1f9c13be6642 (bug 1311726)
Backed out changeset 2f4e89d930b0 (bug 1311726)
Backed out changeset 03f767c08221 (bug 1311726)
Backed out changeset b21e580a778f (bug 1311726)
Backed out changeset 4597b327e9be (bug 1311726)
Backed out changeset 558fec312301 (bug 1311726)
Backed out changeset b758abeed4cc (bug 1311726)
Backed out changeset a909be9fa973 (bug 1311726)
Backed out changeset 8db98e65b147 (bug 1311726)
Backed out changeset ee2e01e59950 (bug 1311726)
Backed out changeset 40c635fb36eb (bug 1311726)
Backed out changeset 6ba119a4e33e (bug 1311726)
Backed out changeset 1ad7d1308b5f (bug 1311726)
Backed out changeset dd2dbe11315d (bug 1311726)
Backed out changeset a8279e757309 (bug 1311726)
Backed out changeset 1de8b528723e (bug 1311726)
Backed out changeset f1e4c9199289 (bug 1311726)
Backed out changeset 23ea474c05ec (bug 1311726)
2021-12-08 12:46:07 +02:00
Yulia Startsev
e33460fcd0 Bug 1311726 - Split ScriptLoader into ScriptLoader and ModuleLoader; r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D132683
2021-12-08 09:44:14 +00:00
Yulia Startsev
b37eb59838 Bug 1311726 - Create ScriptLoaderInterface; r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D132614
2021-12-08 09:44:13 +00:00
Yulia Startsev
e0f5c1b284 Bug 1311726 - Move GetProfilerLabelForRequest to ScriptLoadRequest; r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D132951
2021-12-08 09:44:13 +00:00
Yulia Startsev
4a879a389d Bug 1311726 - Move getScriptSource to ScriptLoadRequest; r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D132950
2021-12-08 09:44:12 +00:00
Yulia Startsev
0cfaecf34e Bug 1311726 - Move Module Evaluation into ModuleLoader; r=jonco
Module evaluation is independent of it's context. We just need the globalObject to set up the
execution environment.

Differential Revision: https://phabricator.services.mozilla.com/D132678
2021-12-08 09:44:12 +00:00
Yulia Startsev
6be15af67a Bug 1311726 - Move module hook instantiation to ModuleLoader constructor; r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D132677
2021-12-08 09:44:12 +00:00
Yulia Startsev
ee7e04d0e4 Bug 1311726 - ModuleLoadRequest loader is a ModuleLoader; r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D132825
2021-12-08 09:44:11 +00:00
Yulia Startsev
b72431af17 Bug 1311726 - Move Dynamic Import Methods to ModuleLoader; r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D132613
2021-12-08 09:44:11 +00:00
Yulia Startsev
4390c6bbe9 Bug 1311726 - Move CheckModuleDependeciesLoaded to ModuleLoadRequest; r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D132612
2021-12-08 09:44:11 +00:00
Yulia Startsev
5359ecaee6 Bug 1311726 - Move methods related to resolution and error handling to ModuleLoader;r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D132611
2021-12-08 09:44:10 +00:00
Yulia Startsev
0d64ee28d9 Bug 1311726 - Move methods related to instantiating the module tree to ModuleLoader;r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D132610
2021-12-08 09:44:10 +00:00
Yulia Startsev
cd670cb995 Bug 1311726 - Create ModuleLoader Class; r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D132609
2021-12-08 09:44:09 +00:00
Yulia Startsev
157f0f2054 Bug 1311726 - Pass JSContext instead of JSAPI to FillCompileOptionsForRequest; r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D132608
2021-12-08 09:44:09 +00:00
Yulia Startsev
fa5cfd155f Bug 1311726 - Split EvaluateScript into EvaluateScript and EvaluateModule; r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D132607
2021-12-08 09:44:09 +00:00
Yulia Startsev
81fb618107 Bug 1311726 - Remove second initialization of currentScript in EvaluateScript; r=jonco
first initialization is on line 3140 and covers the module case.

Differential Revision: https://phabricator.services.mozilla.com/D132606
2021-12-08 09:44:08 +00:00
Yulia Startsev
290ca1ee40 Bug 1311726 - Split StartLoad into StartClassicLoad, StartModuleLoad, StartLoadInternal; r=jonco
The goal of splitting classic script loading from module script loading was to keep a minimum
selection of methods for other script loaders to implement. In addition, the security
flags were distinct for the two cases, and had no overlap.

Caching behavior was left as shared, as it is likely modules will have this soon.

Differential Revision: https://phabricator.services.mozilla.com/D132605
2021-12-08 09:44:08 +00:00
Yulia Startsev
b0ecf6c126 Bug 1311726 - Switch MarkerInnerWindowIdFromDocShell to MarkerInnerWindowIdFromJSContext; r=canaltinova
The Scriptloader will be shared by multiple modules, not all of them have ready access to the
 docshell (MozJSComponentLoader currently uses the JSContext for this purpose. Workers and worklets
 are not tracking performance yet). Our profiling code relies on the docShell present in the script loader. This changes the
 current profiling code to use the JSContext instead.

Differential Revision: https://phabricator.services.mozilla.com/D132604
2021-12-08 09:44:08 +00:00
Yulia Startsev
4a72b703fb Bug 1311726 - Only set "ProcessingScript" tag when executing; r=jonco
Previously, we were setting the ProcessingScriptTag for Module compilation as well as script
execution. This patch creates a helper function (GetGlobalWithContext) and removes a superfluous
setting of the "ProcessingScriptTag".

ProcessingScriptTag should be set when a script is executing, as it helps correct our behavior
around history replacement during JS execution: https://searchfox.org/mozilla-central/rev/e9cd2997be1071b9bb76fc14df0f01a2bd721c30/dom/base/LocationBase.cpp#223-231

Differential Revision: https://phabricator.services.mozilla.com/D132603
2021-12-08 09:44:07 +00:00
Jonatan Klemets
c32210afec Bug 1736060 - Part 4: Implement HostGetSupportedImportAssertions. r=mgaudet,arai
Differential Revision: https://phabricator.services.mozilla.com/D126044
2021-12-01 18:26:09 +00:00
Tooru Fujisawa
86d257a783 Bug 1687973 - Part 1: Remove CompileOptions.useOffThreadParseGlobal. r=tcampbell
Changed all off-thread tasks not to use parse global.
Removed bug-1138390.js because off-thread script decode no longer wait for GC.

 * ParseTask::parseGlobal is removed in Part 2
 * OffThreadParsingMustWaitForGC is removed in Part 3
 * GlobalHelperThreadState::parseWaitingOnGC is removed in Part 3
 * GlobalHelperThreadState::generateLCovSources is removed in Part 5
 * ParseTask::scripts is removed in Part 6
 * ModuleObject::fixEnvironmentsAfterRealmMerge is removed in Part 7
 * Zone::{setCreatedForHelperThread,clearUsedByHelperThread} are removed in
   bug 538450
 * RealmCreationOptions::setMergeable is removed in bug 1655768
 * MergeRealms is removed in bug 1655768

Differential Revision: https://phabricator.services.mozilla.com/D131354
2021-11-19 04:43:03 +00:00
ssummar
0992acc367 Bug 1603127 - Replaced mozilla::Tuple with std::tuple and applied structured bindings in mozilla/Encoding.h. r=hsivonen
Differential Revision: https://phabricator.services.mozilla.com/D129920
2021-11-08 08:14:00 +00:00
Cristian Tuns
71486b8924 Backed out changeset 7e8e3747c3f8 (bug 1603127) for causing toolchains build bustages (Bug 1739589). CLOSED TREE 2021-11-05 07:23:45 -04:00
ssummar
508562cc85 Bug 1603127 - Replaced mozilla::Tuple with std::tuple and applied structured bindings in mozilla/Encoding.h. r=hsivonen
Differential Revision: https://phabricator.services.mozilla.com/D129920
2021-11-05 05:33:58 +00:00
Denis Palmeiro
a728edfd6d Bug 1736057 - Enable off thread full parsing by default for external JS scripts r=smaug,bas
The results from a nightly experiment, found at https://protosaur.dev/partybal/bug_1722551_pref_full_js_parsing_experiment_nightly_94_94.html, indicate that there is a 2% improvement in the page load time by enabling full parsing for external JS scripts.  This is most noticeable in the low cpu segment, where improvements of up to 10% can be seen.  This all comes at a memory increase of about 1% in the median, and 4% in the worst case.

Differential Revision: https://phabricator.services.mozilla.com/D129158
2021-10-25 14:54:26 +00:00
ssummar
51c0ff21e5 Bug 1626517 - Replaced mozilla::Unused with mozilla::Ignore in mozilla::Decoder/mozilla::Encoder calls. r=m_kato
Differential Revision: https://phabricator.services.mozilla.com/D129022
2021-10-25 12:31:41 +00:00
Tooru Fujisawa
0792d1689a Bug 1720619 - Part 2: Add JS::InstantiateOptions. r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D120201
2021-10-18 17:08:06 +00:00
Yury Delendik
04ca8c2532 Bug 1487113 - nsICacheInfoChannel.alternativeDataInputStream as attribute. r=necko-reviewers,valentin
Differential Revision: https://phabricator.services.mozilla.com/D117360
2021-10-15 21:13:43 +00:00
Tooru Fujisawa
6d6d53e831 Bug 1731629 - Add CompileOptions.borrowBuffer. r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D126120
2021-09-21 03:18:02 +00:00
Marian-Vasile Laza
381c254e6d Backed out 3 changesets (bug 1487113) for causing hazard bustages. CLOSED TREE
Backed out changeset 13bf04fc644f (bug 1487113)
Backed out changeset 5b7fe5d564aa (bug 1487113)
Backed out changeset 02236ccd64b4 (bug 1487113)
2021-09-17 22:58:33 +03:00
Yury Delendik
19b0d24e7f Bug 1487113 - nsICacheInfoChannel.alternativeDataInputStream as attribute. r=necko-reviewers,valentin
Differential Revision: https://phabricator.services.mozilla.com/D117360
2021-09-17 12:16:23 +00:00
Cristian Tuns
f2f6eac4d6 Backed out 3 changesets (bug 1487113) for causing mochitest failures. CLOSED TREE
Backed out changeset b20e5d76c77e (bug 1487113)
Backed out changeset b0b2b27dcb68 (bug 1487113)
Backed out changeset 9214b396eb84 (bug 1487113)
2021-09-14 17:38:32 -04:00
Yury Delendik
0b78665a0e Bug 1487113 - nsICacheInfoChannel.alternativeDataInputStream as attribute. r=necko-reviewers,valentin
Differential Revision: https://phabricator.services.mozilla.com/D117360
2021-09-14 20:12:51 +00:00
André Bargull
d2bbf86876 Bug 1726123 - Part 5: Add missing "js/" includes outside of SM. r=arai
In preparation for the next part, add missing includes to "js/" public headers.

Differential Revision: https://phabricator.services.mozilla.com/D122843
2021-08-17 15:45:39 +00:00
Yulia Startsev
84e1ae58eb Bug 1725621 - Remove Top Level Await preference and associated code; r=mgaudet
Differential Revision: https://phabricator.services.mozilla.com/D122586
2021-08-17 13:08:00 +00:00
Jon Coppeard
d021d948ec Bug 1720692 - Remove all preload requests from the off-thread compiling requests list when the preload request is used r=dpalmeiro
When a preload request is used, it might be being compiled off-thread.
Currently this is handled for defer and async requests in AddDeferRequest and
AddAsyncRequest but not for XSLT or other kinds of requests. The patch handles
this whenever we use a preload request.

I don't know for sure that this is what's causing the crash but it seems likely
given the assertion.

Depends on D120072

Differential Revision: https://phabricator.services.mozilla.com/D120073
2021-07-16 16:46:54 +00:00
Butkovits Atila
de7ebaa571 Backed out changeset fbb89c5b851b (bug 1720692) for casuing bustages complaining about 'CommandContext'. 2021-07-16 20:15:54 +03:00
Jon Coppeard
b5d3573fd6 Bug 1720692 - Remove all preload requests from the off-thread compiling requests list when the preload request is used r=dpalmeiro
When a preload request is used, it might be being compiled off-thread.
Currently this is handled for defer and async requests in AddDeferRequest and
AddAsyncRequest but not for XSLT or other kinds of requests. The patch handles
this whenever we use a preload request.

I don't know for sure that this is what's causing the crash but it seems likely
given the assertion.

Depends on D120072

Differential Revision: https://phabricator.services.mozilla.com/D120073
2021-07-16 16:46:54 +00:00
Tom Ritter
1b9b6b72db Bug 1666222: Cut over a ton of NowUnfuzzed calls -> Now 4/5 r=smaug,extension-reviewers,zombie
With Fuzzyfox removed, Now() does what NowUnfuzzed() did.

Differential Revision: https://phabricator.services.mozilla.com/D119639
2021-07-14 18:18:17 +00:00
Tooru Fujisawa
cc92ef732d Bug 1708448 - Move property and element functions into js/public/PropertyAndElement.h. r=nbp
Differential Revision: https://phabricator.services.mozilla.com/D119619
2021-07-13 11:52:42 +00:00
Jon Coppeard
bc6660ee39 Bug 1678774 - Track more top level load requests while they are being parsed off-thread r=dpalmeiro
The original patch had caused some assertions so I rewrote it. This now puts
all untracked top-level requests on the new list while they are being compiled
so handles preload requests too.

Differential Revision: https://phabricator.services.mozilla.com/D119386
2021-07-12 16:31:00 +00:00
Jon Coppeard
d06022bd80 Bug 1678774 - Rename ScriptLoadRequestList::Cancel to CancelRequestsAndClear r=dpalmeiro
It's not otherwise obvious that calling this cancels all the requests in the list.

Differential Revision: https://phabricator.services.mozilla.com/D119491
2021-07-12 16:30:59 +00:00
Jon Coppeard
596f5488eb Bug 1678774 - Cancel off-thread compilations when destroying a ScriptLoader r=dpalmeiro
There are parse tasks present when the JS engine is being shut down that have
finished but haven't had their results collected by the embedding. This
shouldn't happen, and I think it's happening here because we're leaking a
JSRuntime (we cancel these when we shut down a runtime).

There's a comment that says this isn't necessary but cancelling outstanding
compile requests in ScriptLoader::Destroy fixes this problem on try. I don't
understand well enough to know what's going wrong with the current approach but
this fixes both the crash and the leak.

Differential Revision: https://phabricator.services.mozilla.com/D119315
2021-07-12 16:30:59 +00:00
Butkovits Atila
1bbbede5ea Backed out 3 changesets (bug 1678774) for causing assertion failures at LinkedList.h. CLOSED TREE
Backed out changeset ed10a56d576e (bug 1678774)
Backed out changeset 31612eaf974f (bug 1678774)
Backed out changeset 867422c9aa5e (bug 1678774)
2021-07-09 18:37:41 +03:00
Jon Coppeard
24970ee4f8 Bug 1678774 - Rename ScriptLoadRequestList::Cancel to CancelRequestsAndClear r=dpalmeiro
It's not otherwise obvious that calling this cancels all the requests in the list.

Differential Revision: https://phabricator.services.mozilla.com/D119491
2021-07-09 14:07:06 +00:00
Jon Coppeard
d6e815ae33 Bug 1678774 - Track more top level load requests while they are being parsed off-thread r=dpalmeiro
Depends on D119315

Differential Revision: https://phabricator.services.mozilla.com/D119386
2021-07-09 14:07:05 +00:00
Jon Coppeard
86f8c9170b Bug 1678774 - Cancel off-thread compilations when destroying a ScriptLoader r=dpalmeiro
There are parse tasks present when the JS engine is being shut down that have
finished but haven't had their results collected by the embedding. This
shouldn't happen, and I think it's happening here because we're leaking a
JSRuntime (we cancel these when we shut down a runtime).

There's a comment that says this isn't necessary but cancelling outstanding
compile requests in ScriptLoader::Destroy fixes this problem on try. I don't
understand well enough to know what's going wrong with the current approach but
this fixes both the crash and the leak.

Differential Revision: https://phabricator.services.mozilla.com/D119315
2021-07-09 14:07:05 +00:00
Florian Quèze
cd399a71a2 Bug 1717991 - Remove ifdefs around code that adds profiler markers with custom marker schemas, r=gerald.
Differential Revision: https://phabricator.services.mozilla.com/D118680
2021-06-25 13:28:01 +00:00
Denis Palmeiro
f8473d146f Bug 1717642 - Add a pref to force full parse for OMT compiled JS scripts from the ScriptLoader. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D118494
2021-06-24 15:13:42 +00:00
Iain Ireland
672b512c4b Bug 1624792: Remove js::GlobalHasInstrumentation r=tcampbell,smaug
This is no longer needed because we are removing the realm instrumentation code (which was only ever used for WebRR).

Differential Revision: https://phabricator.services.mozilla.com/D116304
2021-06-01 01:31:19 +00:00
Denis Palmeiro
d2a8c4a659 Bug 1709139 - Replace JS pageload proportion probes with absolute time measurements and add new probes to measure GC and main thread parsing impact during page load. r=sfink,iain,smaug
Replace JS pageload proportion probes with absolute time measurements and add new probes to measure GC and main thread parsing impact during page load.

Differential Revision: https://phabricator.services.mozilla.com/D114388
2021-05-12 16:38:40 +00:00
Kagami Sascha Rosylight
924e28c20b Bug 1620505 - Clear currentScript after running microtasks r=edgar
Differential Revision: https://phabricator.services.mozilla.com/D114442
2021-05-06 13:36:34 +00:00
Matthew Gaudet
810f80185c Bug 1702278 - Defer setting debug metadata until after script compilation is finished. r=tcampbell,smaug
Differential Revision: https://phabricator.services.mozilla.com/D110459
2021-04-20 15:31:14 +00:00
Matthew Gaudet
a0ff0d57e7 Bug 1702278 - Make CompileOptions a member of JSExecutionContext r=tcampbell
This simplified the use of JSExecutionContext, and make future patches
in this stack simpler.

Differential Revision: https://phabricator.services.mozilla.com/D110458
2021-04-20 15:31:13 +00:00
Yulia Startsev
eed5941314 Bug 1704561 - Ensure that Module return value is an object before binding it to evaluationPromise; r=evilpie
Differential Revision: https://phabricator.services.mozilla.com/D111849
2021-04-15 12:28:48 +00:00
Jonatan Klemets
5c6179f100 Bug 1668330 - Part 2: Modify the ScriptLoader to work with the API changes for import-assertions. r=yulia
Differential Revision: https://phabricator.services.mozilla.com/D109495
2021-04-14 18:04:48 +00:00
Bogdan Tara
d593453f4a Backed out 2 changesets (bug 1668330) for GlobalObject.h related bustage and spidermonkey failures CLOSED TREE
DONTBUILD
Backed out changeset 2d76323e5c0c (bug 1668330)
Backed out changeset ac4f085c9f32 (bug 1668330)
2021-04-14 18:36:35 +03:00
Jonatan Klemets
c845650f07 Bug 1668330 - Part 2: Modify the ScriptLoader to work with the API changes for import-assertions. r=yulia
Differential Revision: https://phabricator.services.mozilla.com/D109495
2021-04-14 15:22:57 +00:00
Yulia Startsev
c781410bf5 Bug 1681046: fix non-js occuring error throw order for async modules; r=mgaudet
Differential Revision: https://phabricator.services.mozilla.com/D110961
2021-04-08 08:21:57 +00:00
smolnar
8844e16700 Backed out 3 changesets (bug 1681046) for causing jsreftest failures in ScriptLoader. CLOSED TREE
Backed out changeset 6704600819ed (bug 1681046)
Backed out changeset 37f56518116b (bug 1681046)
Backed out changeset f61cb7496a35 (bug 1681046)
2021-04-07 12:50:28 +03:00
Yulia Startsev
408b320570 Bug 1681046: fix non-js occuring error throw order for async modules; r=mgaudet
Differential Revision: https://phabricator.services.mozilla.com/D110961
2021-04-07 08:45:39 +00:00
Ted Campbell
9b6e632d81 Bug 1700954 - Remove remaining BinAST fragments from ScriptLoader. r=arai,hsivonen,necko-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D109765
2021-03-26 13:01:40 +00:00
Tom Schuster
40d981ca3a Bug 1536094 - CC changes. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D108532
2021-03-23 11:15:11 +00:00
Tom Schuster
01d4cafbb1 Bug 1536094 - Support dynamic import from content scripts (sandboxed code) r=smaug,jonco
Firstly we need to find a usable ScriptLoader for code in the content script sandbox,
for that we use the normal ScriptLoader associated with DOMWindow wrapped by the sandbox.

Secondly we need to execute the module in the global of the sandbox instead of the
"ScriptGlobal" the ScriptLoader is actually associated with. The main
behavior change here comes from using xpc::NativeGlobal in HostImportModuleDynamically
and passing that global around inside ScriptFetchOptions.

To ensure that content-scripts and the webpage don't share imported modules,
the module map (mFetchingModules and mFetchedModules) now uses a complex key
of <URI, Global>. The Global is a nullptr for normal imports from a webpage.

Differential Revision: https://phabricator.services.mozilla.com/D107076
2021-03-23 11:15:11 +00:00
Bogdan Tara
a3fae8602d Backed out 3 changesets (bug 1536094) for causing bug 1700228 CLOSED TREE
Backed out changeset 464143c2b6ac (bug 1536094)
Backed out changeset 3462cb6573b1 (bug 1536094)
Backed out changeset d566c1c9e82f (bug 1536094)
2021-03-23 00:46:34 +02:00
Tom Schuster
68c7cd7283 Bug 1536094 - CC changes. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D108532
2021-03-22 16:22:27 +00:00
Tom Schuster
bcb6e45e17 Bug 1536094 - Support dynamic import from content scripts (sandboxed code) r=smaug,jonco
Firstly we need to find a usable ScriptLoader for code in the content script sandbox,
for that we use the normal ScriptLoader associated with DOMWindow wrapped by the sandbox.

Secondly we need to execute the module in the global of the sandbox instead of the
"ScriptGlobal" the ScriptLoader is actually associated with. The main
behavior change here comes from using xpc::NativeGlobal in HostImportModuleDynamically
and passing that global around inside ScriptFetchOptions.

To ensure that content-scripts and the webpage don't share imported modules,
the module map (mFetchingModules and mFetchedModules) now uses a complex key
of <URI, Global>. The Global is a nullptr for normal imports from a webpage.

Differential Revision: https://phabricator.services.mozilla.com/D107076
2021-03-22 16:22:27 +00:00
Cosmin Sabou
cac540c776 Backed out 3 changesets (bug 1536094) for causing valgrind failures.
Backed out changeset dfe051a9c91a (bug 1536094)
Backed out changeset c73979442002 (bug 1536094)
Backed out changeset 863933e887e8 (bug 1536094)
2021-03-22 20:34:36 +02:00
Tom Schuster
896f971e00 Bug 1536094 - CC changes. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D108532
2021-03-22 16:22:27 +00:00
Tom Schuster
aa320997de Bug 1536094 - Support dynamic import from content scripts (sandboxed code) r=smaug,jonco
Firstly we need to find a usable ScriptLoader for code in the content script sandbox,
for that we use the normal ScriptLoader associated with DOMWindow wrapped by the sandbox.

Secondly we need to execute the module in the global of the sandbox instead of the
"ScriptGlobal" the ScriptLoader is actually associated with. The main
behavior change here comes from using xpc::NativeGlobal in HostImportModuleDynamically
and passing that global around inside ScriptFetchOptions.

To ensure that content-scripts and the webpage don't share imported modules,
the module map (mFetchingModules and mFetchedModules) now uses a complex key
of <URI, Global>. The Global is a nullptr for normal imports from a webpage.

Differential Revision: https://phabricator.services.mozilla.com/D107076
2021-03-22 16:22:27 +00:00
Nika Layzell
c733984c4b Bug 1675820 - Part 6: Make DocGroup cycle-collected, r=farre,smaug
Previously, the DocGroup type was not cycle-collected, as it needed to have
references from other threads for Quantum DOM. Nowadays the only off-main-thread
use of DocGroup is for dispatching runnables to the main thread which should be
tracked using a performance counter for about:performance. This means we can
remove the DocGroup references from these dispatching callsites, only storing
the Performance Counter we're interested in, and simplify make DocGroup be
cycle-collected itself.

This fixes a leak caused by adding the WindowGlobalChild getter to
WindowContext, by allowing cycles between the document and its BrowsingContext
to be broken by the cycle-collector.

Differential Revision: https://phabricator.services.mozilla.com/D108865
2021-03-18 19:24:50 +00:00
Simon Giesecke
7c6ccbe4a8 Bug 1676361 - Move AutoEntryScript to a separate header file to avoid pulling in GeckoProfiler.h everywhere. r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D97742
2021-03-05 15:29:49 +00:00
Alexandru Michis
8c28934f09 Backed out changeset c6b72f3c76ba (bug 1676361) for causing bustages in nsSocketTransportService2.cpp
CLOSED TREE
2021-03-04 23:26:04 +02:00
Simon Giesecke
e41d350c04 Bug 1676361 - Move AutoEntryScript to a separate header file to avoid pulling in GeckoProfiler.h everywhere. r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D97742
2021-03-04 17:30:48 +00:00
Noemi Erli
11891059f7 Backed out changeset 06452c4c828c (bug 1676361) for causing bustages CLOSED TREE 2021-03-04 19:13:56 +02:00
Simon Giesecke
6c371fcc1c Bug 1676361 - Move AutoEntryScript to a separate header file to avoid pulling in GeckoProfiler.h everywhere. r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D97742
2021-03-04 16:14:44 +00:00
smolnar
9f8b74a18d Backed out changeset 9062e17fe15c (bug 1676361) on devs request. CLOSED TREE 2021-03-04 16:51:21 +02:00
Simon Giesecke
e1330cc8f0 Bug 1676361 - Move AutoEntryScript to a separate header file to avoid pulling in GeckoProfiler.h everywhere. r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D97742
2021-03-04 14:32:15 +00:00
Simon Giesecke
9af107a839 Bug 1691913 - Rename nsBaseHashtable::Put to InsertOrUpdate. r=xpcom-reviewers,necko-reviewers,jgilbert,dragana,nika
This makes the naming more consistent with other functions called
Insert and/or Update. Also, it removes the ambiguity whether
Put expects that an entry already exists or not, in particular because
it differed from nsTHashtable::PutEntry in that regard.

Differential Revision: https://phabricator.services.mozilla.com/D105473
2021-02-26 09:11:46 +00:00
yulia
ec9af4d409 Bug 1665330 - If a script is a module, increment the IgnoreDestructiveWrites counter r=hsivonen
Differential Revision: https://phabricator.services.mozilla.com/D99898
2021-02-05 11:00:23 +00:00
Ted Campbell
a8e1541ef9 Bug 1686572 - Return JS::OffThreadToken* from off-thread script compile. r=arai
Instead of using both an optional out-param and a boolean return value, we
can simply return the token directly. This is less error-prone and requires
no change to callers that did not use the out-param.

Differential Revision: https://phabricator.services.mozilla.com/D101654
2021-01-14 00:51:13 +00:00
Tooru Fujisawa
a8ebb3a149 Bug 1674305 - Always use off-thread parse global in decode task and instantiate off-thread. r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D101126
2021-01-13 23:31:16 +00:00
Dorel Luca
2a0e56c384 Backed out changeset 760123aa1758 (bug 1665330) for WPT failures in /html/webappapis/dynamic-markup-insertion/document-write/module-tla-import.html. CLOSED TREE 2021-01-13 16:57:11 +02:00
yulia
c897e5a544 Bug 1665330 - If a script is a module, increment the IgnoreDestructiveWrites counter r=hsivonen
Differential Revision: https://phabricator.services.mozilla.com/D99898
2021-01-13 11:41:01 +00:00
Tooru Fujisawa
33a5756351 Bug 1681308 - Add alignment requirement to XDR buffer. r=nbp
Differential Revision: https://phabricator.services.mozilla.com/D101125
2021-01-13 02:18:26 +00:00
yulia
0ff486bf16 Bug 1681664 - Allow Top-level await modules which fail to evaluate due to user action to fail without crashing. r=jonco,mconley
Differential Revision: https://phabricator.services.mozilla.com/D99809
2021-01-11 17:08:59 +00:00
Christoph Kerschbaumer
cd9e96dc19 Bug 1677179: Allow module scripts in sandboxed iframe within about: page to load. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D98765
2021-01-10 18:42:04 +00:00
Masatoshi Kimura
3f402bfcc4 Bug 1683464 - Reduce nsContentPolicyType usage. r=ckerschb
Differential Revision: https://phabricator.services.mozilla.com/D100181
2021-01-07 15:18:52 +00:00
Razvan Maries
6a4eb25b10 Backed out 4 changesets (bug 1683464) for multiple perma failures. CLOSED TREE
Backed out changeset a5d315c017d0 (bug 1683464)
Backed out changeset 5f91001e4923 (bug 1683464)
Backed out changeset 1b7fe904e8af (bug 1683464)
Backed out changeset eb1c479fddca (bug 1683464)
2021-01-05 16:47:22 +02:00
Masatoshi Kimura
dfb97ca7cf Bug 1683464 - Reduce nsContentPolicyType usage. r=ckerschb
Depends on D100180

Differential Revision: https://phabricator.services.mozilla.com/D100181
2021-01-05 12:21:46 +00:00
Razvan Maries
47f941747c Backed out changeset 540c9159c3c6 (bug 1681664) for perma failures on test_bug1681664.html. 2020-12-18 22:00:52 +02:00
yulia
a1a1c495ea Bug 1681664 - Allow Top-level await modules which fail to evaluate due to user action to fail without crashing. r=jonco,mconley
Differential Revision: https://phabricator.services.mozilla.com/D99809
2020-12-18 12:37:36 +00:00
yulia
02bcdf5bde Bug 1519100 - Use pref to completely pref-off top-level await in the browser; r=emilio,jonco
Differential Revision: https://phabricator.services.mozilla.com/D97184
2020-12-04 08:54:10 +00:00
yulia
0d160e1e0d Bug 1519100 - Implement module promises in html r=emilio,jonco
Differential Revision: https://phabricator.services.mozilla.com/D95885
2020-12-04 08:54:03 +00:00
Razvan Maries
8cbedc3a4d Backed out 15 changesets (bug 1519100) as per Yulia's request. CLOSED TREE
Backed out changeset 16dc37dadf05 (bug 1519100)
Backed out changeset 019b00c63941 (bug 1519100)
Backed out changeset 1155eecec034 (bug 1519100)
Backed out changeset 53a792431e11 (bug 1519100)
Backed out changeset 55918f941155 (bug 1519100)
Backed out changeset 683743bd0395 (bug 1519100)
Backed out changeset 63d506024693 (bug 1519100)
Backed out changeset 8b5244786634 (bug 1519100)
Backed out changeset 3a0a021acc08 (bug 1519100)
Backed out changeset d5bff6c95feb (bug 1519100)
Backed out changeset bab7e81a6c2c (bug 1519100)
Backed out changeset b521ccd694f8 (bug 1519100)
Backed out changeset 9f559a616909 (bug 1519100)
Backed out changeset 98146209da6f (bug 1519100)
Backed out changeset a3ea6c49dbf7 (bug 1519100)
2020-12-03 20:37:45 +02:00
yulia
f710026703 Bug 1519100 - Use pref to completely pref-off top-level await in the browser; r=emilio,jonco
Differential Revision: https://phabricator.services.mozilla.com/D97184
2020-12-03 15:26:04 +00:00
yulia
4883191845 Bug 1519100 - Implement module promises in html r=emilio,jonco
Differential Revision: https://phabricator.services.mozilla.com/D95885
2020-12-03 15:25:54 +00:00
Bogdan Tara
c1b7803fbd Backed out 15 changesets (bug 1519100) for wpt leaks CLOSED TREE
Backed out changeset 7302ebdbaa35 (bug 1519100)
Backed out changeset 5b89081f0f08 (bug 1519100)
Backed out changeset ee02050e3c97 (bug 1519100)
Backed out changeset 47cf4bde107e (bug 1519100)
Backed out changeset bfd96f55a3bd (bug 1519100)
Backed out changeset c9afefd66eb7 (bug 1519100)
Backed out changeset 90b61247d071 (bug 1519100)
Backed out changeset e0250e4cba61 (bug 1519100)
Backed out changeset 5f90543431cb (bug 1519100)
Backed out changeset d7f3440addc7 (bug 1519100)
Backed out changeset 10194540aff0 (bug 1519100)
Backed out changeset 880873b815a4 (bug 1519100)
Backed out changeset d99f0109da7a (bug 1519100)
Backed out changeset c723f6b16b67 (bug 1519100)
Backed out changeset da24af409d92 (bug 1519100)
2020-12-02 21:14:35 +02:00
yulia
7a2f0f89ab Bug 1519100 - Use pref to completely pref-off top-level await in the browser; r=emilio,jonco
Differential Revision: https://phabricator.services.mozilla.com/D97184
2020-12-02 12:40:21 +00:00
yulia
21104289bb Bug 1519100 - Implement module promises in html r=emilio,jonco
Differential Revision: https://phabricator.services.mozilla.com/D95885
2020-12-02 12:40:08 +00:00
Tooru Fujisawa
c41f83e22a Bug 1678243 - Clear exception set by JS::FinishIncrementalEncoding. r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D98015
2020-11-26 20:08:59 +00:00
Simon Giesecke
e9f54e05c6 Bug 1676361 - Move ExecutionContext to a separate header file to avoid pulling in GeckoProfiler.h everywhere. r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D97618

Depends on D97617
2020-11-23 16:12:26 +00:00
Simon Giesecke
5bfbb2a572 Bug 1673931 - Avoid including Document.h from header files. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D95046

Depends on D95045
2020-11-23 16:07:43 +00:00
Simon Giesecke
971b645fe3 Bug 1660470 - Add missing include directives/forward declarations. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D87865
2020-11-23 16:21:38 +00:00
Denis Palmeiro
0ef77ed7df Bug 1666724 - Cancel all off thread compilations at Shutdown r=smaug
Register a shutdown observer for scriptloader and cancel all script load requests upon observation.

Differential Revision: https://phabricator.services.mozilla.com/D96778
2020-11-19 00:00:44 +00:00
Gerald Squelart
cc0abcfaee Bug 1675409 - Migrated TextMarkerPayload to Markers 2.0 API - r=gregtatum
Differential Revision: https://phabricator.services.mozilla.com/D96052
2020-11-18 21:54:13 +00:00
Razvan Maries
b7eeb731df Backed out 23 changesets (bug 1675409) for build bustages on Preferences.cpp. CLOSED TREE
Backed out changeset c1a131a55767 (bug 1675409)
Backed out changeset 47d210802a5d (bug 1675409)
Backed out changeset e8ebb1c58d30 (bug 1675409)
Backed out changeset 69a1e9aeff2a (bug 1675409)
Backed out changeset 68f330b387a8 (bug 1675409)
Backed out changeset e4750d9ef5a1 (bug 1675409)
Backed out changeset bb6bb71e5ab3 (bug 1675409)
Backed out changeset 988d7f4716df (bug 1675409)
Backed out changeset ca41382e891c (bug 1675409)
Backed out changeset 90f3fbbbbeda (bug 1675409)
Backed out changeset 9b109d61a6f6 (bug 1675409)
Backed out changeset 3dd66abfdaa2 (bug 1675409)
Backed out changeset 44181df5f0db (bug 1675409)
Backed out changeset bb2603d947fc (bug 1675409)
Backed out changeset 97055cf20a56 (bug 1675409)
Backed out changeset f88fcf09de0d (bug 1675409)
Backed out changeset 7963e1c49786 (bug 1675409)
Backed out changeset 4c379c1061c3 (bug 1675409)
Backed out changeset b8be8ae7da63 (bug 1675409)
Backed out changeset 0b90aa89421e (bug 1675409)
Backed out changeset c10fb46467c9 (bug 1675409)
Backed out changeset 894ac233b290 (bug 1675409)
Backed out changeset 075d1d8e34c2 (bug 1675409)
2020-11-18 20:06:28 +02:00
Gerald Squelart
786dd07114 Bug 1675409 - Migrated TextMarkerPayload to Markers 2.0 API - r=gregtatum
Differential Revision: https://phabricator.services.mozilla.com/D96052
2020-11-17 22:23:38 +00:00
Mihai Alexandru Michis
c0d25b01b2 Backed out 24 changesets (bug 1666566, bug 1675409) for causing hazard failures in profiler/core/platform.cpp
CLOSED TREE

Backed out changeset 4d8af8533fd4 (bug 1666566)
Backed out changeset f031a3a8a20f (bug 1675409)
Backed out changeset 2b7e1a031921 (bug 1675409)
Backed out changeset bda5a24b2d0a (bug 1675409)
Backed out changeset 4282e2284314 (bug 1675409)
Backed out changeset 0637f1b26e9f (bug 1675409)
Backed out changeset 67ae04c8f607 (bug 1675409)
Backed out changeset 6c7b3f3618ef (bug 1675409)
Backed out changeset 2f325c22d169 (bug 1675409)
Backed out changeset 1e48ff70ad8f (bug 1675409)
Backed out changeset 1dfc32d6871d (bug 1675409)
Backed out changeset 4f1f218a777b (bug 1675409)
Backed out changeset e6ac8722b38e (bug 1675409)
Backed out changeset cf132e15fb57 (bug 1675409)
Backed out changeset a126e6b00ba9 (bug 1675409)
Backed out changeset fbc7fbb04f33 (bug 1675409)
Backed out changeset 554c69681474 (bug 1675409)
Backed out changeset 44d0521c701f (bug 1675409)
Backed out changeset 04653dfe4720 (bug 1675409)
Backed out changeset 41ca2c043a00 (bug 1675409)
Backed out changeset 264ae4c805d4 (bug 1675409)
Backed out changeset 5f3bbdac0d52 (bug 1675409)
Backed out changeset 11311c11a6e8 (bug 1675409)
Backed out changeset 0355fbc44baf (bug 1675409)
2020-11-17 19:31:28 +02:00
Gerald Squelart
7e40dbb3c5 Bug 1675409 - Migrated TextMarkerPayload to Markers 2.0 API - r=gregtatum
Differential Revision: https://phabricator.services.mozilla.com/D96052
2020-11-17 11:38:06 +00:00
Andi-Bogdan Postelnicu
6c639eb537 Bug 1626555 - Add dom/script to the list of non-unified-build-compatible directories. r=sg
Differential Revision: https://phabricator.services.mozilla.com/D96401
2020-11-09 16:50:39 +00:00
Jeff Walden
c7bc4f2846 Bug 1663365 - Don't include "js/friend/ErrorMessages.h" in jsfriendapi.h. r=arai
Differential Revision: https://phabricator.services.mozilla.com/D95208
2020-10-30 06:33:56 +00:00
Denis Palmeiro
71434198b6 Bug 1664475: Add telemetry probes to collect data for script delazification, xdr encoding time, bytecode caching time, and baseline compilation time. r=nbp,Dexter,sefeng,smaug
Differential Revision: https://phabricator.services.mozilla.com/D90798
2020-10-08 13:46:29 +00:00
Gerald Squelart
ee701f64d7 Bug 1667915 - Separate marker category from marker options - r=gregtatum
The `category.WithOptions(...)` syntax was a bit strange and difficult to explain.

Now the category and options are separate parameters. Default options can be specified with `MarkerOptions{}` or just `{}`.

As a special case, defaulted-NoPayload functions don't need `<>`, and defaulted-NoPayload functions and macros don't even need `{}` for default options, e.g.:
`profiler_add_marker("name", OTHER); PROFILER_MARKER_UNTYPED("name", OTHER);`

Differential Revision: https://phabricator.services.mozilla.com/D91680
2020-10-01 11:02:23 +00:00
Bogdan Tara
ababae891b Backed out 2 changesets (bug 1667915) for platform related bustage CLOSED TREE
Backed out changeset e7a0788a1741 (bug 1667915)
Backed out changeset d34505b2d81b (bug 1667915)
2020-10-01 12:34:39 +03:00
Gerald Squelart
e07ae06a1d Bug 1667915 - Separate marker category from marker options - r=gregtatum
The `category.WithOptions(...)` syntax was a bit strange and difficult to explain.

Now the category and options are separate parameters. Default options can be specified with `MarkerOptions{}` or just `{}`.

As a special case, defaulted-NoPayload functions don't need `<>`, and defaulted-NoPayload functions and macros don't even need `{}` for default options, e.g.:
`profiler_add_marker("name", OTHER); PROFILER_MARKER_UNTYPED("name", OTHER);`

Differential Revision: https://phabricator.services.mozilla.com/D91680
2020-10-01 01:44:47 +00:00
Christoph Kerschbaumer
359ca7017e Bug 1666419: Assert IsSafeToRunScript. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D91391
2020-09-28 06:29:44 +00:00
Simon Giesecke
de7bab0f06 Bug 1650145 - Replace all value uses of Empty[C]String by 0-length _ns literals. r=froydnj,geckoview-reviewers,agi
Differential Revision: https://phabricator.services.mozilla.com/D82325
2020-09-23 15:17:15 +00:00
Denis Palmeiro
27ec435b3b Bug 1665724: Clear mRunnable of request if user goes OOM while trying to off-thread compile. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D90645
2020-09-18 10:31:45 +00:00
Denis Palmeiro
63cdb2b343 Bug 1652126: Obtain an OffThreadToken immediately so parse tasks can be canceled anytime, and clean up dangling Runnables during cancellation. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D89465
2020-09-11 15:28:04 +00:00
Gerald Squelart
a087b2df35 Bug 1663554 - Convert AUTO_PROFILER_TEXT_MARKER_... to new AUTO_PROFILER_MARKER_TEXT - r=gregtatum
The name `AUTO_PROFILER_MARKER_TEXT` is more consistent with the equivalent non-`AUTO` macro, and similarly arguments have been re-ordered to be the same, i.e.: Name, category&options, text.

The different macros with different argument sets can now be collapsed into one macro, and the optional arguments (timing, inner window id, backtrace) can easily be added to the `MarkerOptions` where needed.

As a bonus, a specific start time can optionally be provided at construction time.

Differential Revision: https://phabricator.services.mozilla.com/D89588
2020-09-11 00:42:51 +00:00
Denis Palmeiro
ab8287fd08 Bug 1663051 - Do not process off thread requests that are already pending in a list r=smaug
Check if the off thread compilation request is already in a list before calling ProcessRequest.  See https://bugzilla.mozilla.org/show_bug.cgi?id=1663051#c0 for a more detailed description of the problem.

Differential Revision: https://phabricator.services.mozilla.com/D89257
2020-09-06 16:58:37 +00:00
Denis Palmeiro
b53dc3619e Bug 1662435 - Assert request is not already in another list before appending to bytecode cache queue. r=smaug
Add a safety check before appending a request to the bytecode cache queue to see if it already exists in another list.

Differential Revision: https://phabricator.services.mozilla.com/D88984
2020-09-01 17:14:32 +00:00
Jon Coppeard
7252dcb2ac Bug 1656248 - Associate the JS script with the loader script for scripts loaded from the bytecode cache like we do for compiled scripts r=smaug
The problem is that ResolveModuleSpecifier is being passed a null script and is falling back to using the document base URL to resolve the module import (which is the correct thing to do in some cases). This is happening because the referring JS script was not assoicated with a loader script when it was loaded since it came from the bytecode cache and the logic to do that is missing on this path.

Differential Revision: https://phabricator.services.mozilla.com/D86352
2020-08-24 19:33:53 +00:00
Honza Bambas
3135c5c5f9 Bug 1657961 - MOZ_LOG NotifyOffThreadScriptLoadCompletedRunnable dispatch and run spanning the JS helper thread off-main-thread parsing, r=froydnj
Depends on D86738

Differential Revision: https://phabricator.services.mozilla.com/D86739
2020-08-13 14:41:16 +00:00
Steven MacLeod
b329c4ff4c Bug 1646547 - fix ScriptLoader::ReadyToExecuteParserBlockingScripts stopping at OOP ancestors. r=kmag
`ReadyToExecuteParserBlockingScripts` was walking the ancestor chain but
would stop if it hit an OOP ancestor. With this change we walk the
`WindowContext` tree instead, so that we may skip over OOP ancestors
and continue checking all in process ancestors.

Differential Revision: https://phabricator.services.mozilla.com/D86436
2020-08-09 23:50:35 +00:00
Simon Giesecke
1e02318b49 Bug 1653335 - Replace MakeSpan uses by constructor calls. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D83817
2020-08-07 07:49:47 +00:00
Jon Coppeard
5c7acba387 Bug 1657066 - Dynamic module import doesn't handle uncatchable exceptions r=jandem
Previously this used |cx->isExceptionPending()| to determine whether the import had succeeded, which doesn't work if there was an uncatchable exception.  The patch changes this to pass an explicit status.

Differential Revision: https://phabricator.services.mozilla.com/D85856
2020-08-05 08:38:36 +00:00
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
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
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
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
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
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
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
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
shindli
f5511fecc8 Backed out changeset ec4c2b2a561b (bug 1374612) for causing wpt permafails in /html/dom/reflection-metadata.html CLOSED TREE 2020-02-27 22:46:44 +02:00
Christoph Kerschbaumer
00976af48c Bug 1374612 - CSP: Hide nonce values from the DOM. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D62811

--HG--
extra : moz-landing-system : lando
2020-02-27 18:08:54 +00:00
Dorel Luca
2e1e470d9e Backed out changeset 59fe98b41d80 (bug 1374612) for WPT failures in /html/dom/idlharness.https.html. CLOSED TREE
--HG--
extra : amend_source : a537237327643c365f02c0bfbed643b0d54cf1d5
2020-02-27 14:08:48 +02:00
Christoph Kerschbaumer
ec996a7e9d Bug 1374612 - CSP: Hide nonce values from the DOM. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D62811

--HG--
extra : moz-landing-system : lando
2020-02-27 09:32:04 +00:00
Simon Giesecke
aaf6cb4e75 Bug 1617628 - Hide nsBaseHashtable Put overloads in nsRefPtrHashtable subclass. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D63899

--HG--
extra : moz-landing-system : lando
2020-02-25 17:03:36 +00:00
Simon Giesecke
b50347f917 Bug 1611415 - Prefer using std::move over forget. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D60980

--HG--
extra : moz-landing-system : lando
2020-02-13 14:38:48 +00:00
shindli
91aa0518dd Backed out changeset 0c982bc69cb3 (bug 1611415) for causing build bustages in /builds/worker/workspace/build/src/obj-firefox/dist/include/nsCOMPtr CLOSED TREE 2020-02-12 20:13:29 +02:00
Simon Giesecke
f604a47fa5 Bug 1611415 - Applied FixItHints from mozilla-non-std-move. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D60980

--HG--
extra : moz-landing-system : lando
2020-02-12 17:24:41 +00:00
Nicolas B. Pierron
f862fc3ecb Bug 1607769 - Remove script loader telemetry added by Bug 1579876 and Bug 1573904. r=jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D60288

--HG--
extra : moz-landing-system : lando
2020-02-03 18:55:44 +00:00
Nazım Can Altınova
551cb5c008 Bug 1609660 - Rename "Script" marker to "ScriptEvaluation". r=gerald
Depends on D60231

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

--HG--
extra : moz-landing-system : lando
2020-01-17 21:26:57 +00:00
Jon Coppeard
d7492d145d Bug 1291535 - Clear the list of dynamic import requests after cancelling them in ScriptLoader::ParsingComplete as we do for other requests r=bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D59698

--HG--
extra : moz-landing-system : lando
2020-01-14 11:47:21 +00:00
Jonathan Kingston
27ca040dfd Bug 1606774 - Change GetAttribute to GetAttr where possible r=baku
Differential Revision: https://phabricator.services.mozilla.com/D58585

--HG--
extra : moz-landing-system : lando
2020-01-03 23:40:53 +00:00
Ashutosh Tiwari
b1fed54115 Bug 1603690 - Remove a redundant return statement and removed empty lines. r=Ehsan
Differential Revision: https://phabricator.services.mozilla.com/D57086

--HG--
extra : moz-landing-system : lando
2019-12-13 17:49:07 +00:00
Jeff Walden
62a130ba0a Bug 1602882 - Move array operations to a new js/Array.h header. r=sfink,bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D56595

--HG--
extra : moz-landing-system : lando
2019-12-11 06:17:44 +00:00
Gabriele Svelto
ace6d1063f Bug 1600545 - Remove useless inclusions of header files generated from IDL files in dom/ r=Ehsan
The inclusions were removed with the following very crude script and the
resulting breakage was fixed up by hand. The manual fixups did either
revert the changes done by the script, replace a generic header with a more
specific one or replace a header with a forward declaration.

find . -name "*.idl" | grep -v web-platform | grep -v third_party | while read path; do
    interfaces=$(grep "^\(class\|interface\).*:.*" "$path" | cut -d' ' -f2)
    if [ -n "$interfaces" ]; then
        if [[ "$interfaces" == *$'\n'* ]]; then
          regexp="\("
          for i in $interfaces; do regexp="$regexp$i\|"; done
          regexp="${regexp%%\\\|}\)"
        else
          regexp="$interfaces"
        fi
        interface=$(basename "$path")
        rg -l "#include.*${interface%%.idl}.h" . | while read path2; do
            hits=$(grep -v "#include.*${interface%%.idl}.h" "$path2" | grep -c "$regexp" )
            if [ $hits -eq 0 ]; then
                echo "Removing ${interface} from ${path2}"
                grep -v "#include.*${interface%%.idl}.h" "$path2" > "$path2".tmp
                mv -f "$path2".tmp "$path2"
            fi
        done
    fi
done

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

--HG--
extra : moz-landing-system : lando
2019-12-06 09:24:56 +00:00
Dorel Luca
a381d5c96d Backed out changeset f6e53d1c6518 (bug 1600545) for Android build bustage. CLOSED TREE 2019-12-04 17:32:27 +02:00
Gabriele Svelto
bc9290f767 Bug 1600545 - Remove useless inclusions of header files generated from IDL files in dom/ r=Ehsan
The inclusions were removed with the following very crude script and the
resulting breakage was fixed up by hand. The manual fixups did either
revert the changes done by the script, replace a generic header with a more
specific one or replace a header with a forward declaration.

find . -name "*.idl" | grep -v web-platform | grep -v third_party | while read path; do
    interfaces=$(grep "^\(class\|interface\).*:.*" "$path" | cut -d' ' -f2)
    if [ -n "$interfaces" ]; then
        if [[ "$interfaces" == *$'\n'* ]]; then
          regexp="\("
          for i in $interfaces; do regexp="$regexp$i\|"; done
          regexp="${regexp%%\\\|}\)"
        else
          regexp="$interfaces"
        fi
        interface=$(basename "$path")
        rg -l "#include.*${interface%%.idl}.h" . | while read path2; do
            hits=$(grep -v "#include.*${interface%%.idl}.h" "$path2" | grep -c "$regexp" )
            if [ $hits -eq 0 ]; then
                echo "Removing ${interface} from ${path2}"
                grep -v "#include.*${interface%%.idl}.h" "$path2" > "$path2".tmp
                mv -f "$path2".tmp "$path2"
            fi
        done
    fi
done

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

--HG--
extra : moz-landing-system : lando
2019-12-04 15:01:19 +00:00
Honza Bambas
ce072f8e6a Bug 1594449 - <link rel="preload"> implemented as a speculative load initiated during the prescan phase in the HTML5 parser, disabled by default, only supports "script" and "styles" types, r=ckerschb
Differential Revision: https://phabricator.services.mozilla.com/D52019

--HG--
extra : moz-landing-system : lando
2019-11-27 21:45:12 +00:00
Tooru Fujisawa
c66f627242 Bug 1597153 - Part 1: Add JS::BinASTFormat enum and use it in API. r=Yoric
Differential Revision: https://phabricator.services.mozilla.com/D53365

--HG--
extra : moz-landing-system : lando
2019-11-22 14:18:41 +00:00
Jean-Yves Avenard
e6d0e7dfda Bug 1588899 - P1. Move classification flags related method to nsIClassifiedChannel. r=Ehsan,baku
This is where it should have been in the first place. Those attributes belong there.

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

--HG--
extra : moz-landing-system : lando
2019-10-19 04:30:24 +00:00
Sebastian Streich
854f9b5f12 Bug 1585331 - Add nsIPrincipal::GetAboutModuleFlags r=ckerschb
Differential Revision: https://phabricator.services.mozilla.com/D47775

--HG--
extra : moz-landing-system : lando
2019-10-17 13:54:41 +00:00
Sebastian Streich
88670a47e9 Bug 1580782 - Change Callsites to use nsIPrincipal->SchemeIs r=ckerschb
Differential Revision: https://phabricator.services.mozilla.com/D45654

--HG--
extra : moz-landing-system : lando
2019-09-26 10:47:16 +00:00
Nicolas B. Pierron
58585aac29 Bug 1579876 - Add telemetry to estimate the benefit of a streaming parser for JS. data-review=mlopatka r=jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D45551

--HG--
extra : moz-landing-system : lando
2019-09-19 12:42:51 +00:00
Thomas Nguyen
32ab8293ff Bug 1528697 - Expose ReferrerPolicy.webidl and use referrerpolicy enum r=smaug
ReferrerPolicy gets tossed back and forth as a uint32_t and
ReferrerPolicy enum in header file. Expose ReferrerPolicyValues from
webidl file and use consistently in native code.

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

--HG--
extra : moz-landing-system : lando
2019-08-21 13:24:45 +00:00
Brian Hackett
011f87c6f7 Bug 1570091 Part 2 - Don't use bytecode cache when loading scripts in globals with instrumentation, r=smaug,nbp.
Depends on D39932

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

--HG--
extra : moz-landing-system : lando
2019-08-04 00:03:56 +00:00
Tom Schuster
88855a7ee5 Bug 1558915 - Use infallible nsIURI::SchemeIs in dom/. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D40108

--HG--
extra : source : 3da6e9e86be4a4a9eeaceec222398475b6679193
2019-08-02 08:54:18 +00:00
Mihai Alexandru Michis
0cc257addd Backed out 2 changesets (bug 1558915) for causing bustages. CLOSED TREE
Backed out changeset e44c9fd81e5b (bug 1558915)
Backed out changeset 3da6e9e86be4 (bug 1558915)
2019-08-02 12:17:42 +03:00
Tom Schuster
f115dd9113 Bug 1558915 - Use infallible nsIURI::SchemeIs in dom/. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D40108

--HG--
extra : moz-landing-system : lando
2019-08-02 08:54:18 +00:00
Kannan Vijayan
3fb6190ec6 Bug 1559414 - Rename unaudited pre-fission methods with SameProcess for future audit burndown. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D39378

--HG--
extra : moz-landing-system : lando
2019-07-26 16:48:31 +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
Jonathan Kingston
31441f82ea Bug 1560455 - rename CodebasePrincipal to ContentPrincipal. r=ckerschb
Differential Revision: https://phabricator.services.mozilla.com/D35504

--HG--
extra : moz-landing-system : lando
2019-07-08 16:37:45 +00:00
Jeff Walden
0e736b9ffc Bug 1559633 - Introduce a ScriptDecoding.h header containing templated decoding code for decoding script data as UTF-8 or UTF-16. r=bzbarsky
Depends on D36133

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

--HG--
extra : moz-landing-system : lando
2019-06-26 23:25:19 +00:00
Jeff Walden
7761c7efbf Bug 1554362 - Accumulate external source text as either UTF-8 or UTF-16, in pref-controlled fashion, and then compile the accumulated text using corresponding JSAPI entrypoints without inflating UTF-8 to UTF-16. r=bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D34825

--HG--
extra : moz-landing-system : lando
2019-06-15 20:48:40 +00:00
Jonathan Kingston
aa0686544f Bug 1554294 - Adding in chrome as a supported scriptLoader IsInternalURIScheme and adding relative file paths to aboutlogins r=baku,jaws
Differential Revision: https://phabricator.services.mozilla.com/D34705

--HG--
extra : moz-landing-system : lando
2019-06-14 14:28:05 +00:00
Gurzau Raul
1418970a97 Backed out changeset 3ae87fbf60a5 (bug 1554294) for failing at browser_deleteLogin.js on a CLOSED TREE. 2019-06-14 14:49:03 +03:00
Jonathan Kingston
7d7b9948a6 Bug 1554294 - Adding in chrome as a supported scriptLoader IsInternalURIScheme and adding relative file paths to aboutlogins r=baku,jaws
Differential Revision: https://phabricator.services.mozilla.com/D34705

--HG--
extra : moz-landing-system : lando
2019-06-14 09:33:36 +00:00
Boris Zbarsky
d5a8a4a595 Bug 1557793 part 3. Change the signatures of various nsContentUtils localization methods to play nicer with the new stringbundle API. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D34201

--HG--
extra : moz-landing-system : lando
2019-06-08 21:26:12 +00:00
Thomas Nguyen
01ff0bf93f Bug 1534681 Use ReferrerInfo class in document r=ckerschb,baku,Gijs
Also, in many place, we use document uri as referrer. It is not right
for the case srdoc iframe. We should use the last non-srdoc parent
document's uri

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

--HG--
rename : testing/web-platform/tests/referrer-policy/generic/iframe-inheritance.html => testing/web-platform/tests/referrer-policy/generic/inheritance/iframe-inheritance-data.html
rename : testing/web-platform/tests/referrer-policy/generic/iframe-inheritance.html => testing/web-platform/tests/referrer-policy/generic/inheritance/iframe-inheritance-srcdoc.html
extra : moz-landing-system : lando
2019-06-06 07:23:37 +00:00
Jeff Walden
a3f51f1c4e Bug 1553502 - Implement ScriptLoader::ConvertToUTF8. r=bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D32255

--HG--
extra : moz-landing-system : lando
2019-05-25 19:45:50 +00:00
Jeff Walden
964550bb3e Bug 1552979 - Make JS::CompileModule return the module directly, rather than by outparam duplicative of a boolean return value. r=arai
--HG--
extra : rebase_source : e5db95557dd8c1c3712395a0141badd6e8edbc8e
2019-05-21 10:21:56 -07:00
Christoph Kerschbaumer
b633427366 Bug 965637: Move CSP from Principal into Client, part 1: backend changes. r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D27654

--HG--
extra : moz-landing-system : lando
2019-05-21 23:14:27 +00:00
Jeff Walden
1e8a4f44fd Bug 1553001 - Move module APIs out of jsapi.{cpp,h} into js/public/Modules.h and js/src/vm/Modules.cpp for better isolation of module-related APIs. r=arai
Differential Revision: https://phabricator.services.mozilla.com/D31917

--HG--
rename : js/src/jsapi.h => js/public/Modules.h
rename : js/src/jsapi.cpp => js/src/vm/Modules.cpp
extra : moz-landing-system : lando
2019-05-21 00:57:38 +00:00
Christoph Kerschbaumer
20040f196d Bug 1551379: Allow non linkable about: pages to skip CORS when loading local module scripts. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D31514

--HG--
extra : moz-landing-system : lando
2019-05-20 15:59:28 +00:00
Thomas Nguyen
b0bfbd85aa Bug 1532318 - Part 2 : update changes of nsIHttpChannel in codebase r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D22786

--HG--
extra : moz-landing-system : lando
2019-05-02 12:33:55 +00:00
Andrea Marchesini
f50233ec54 Bug 1548253 - Port pref cache variables of nsContentUtils to StaticPrefs - dom.script_loader.bytecode_cache.strategy, r=Ehsan
Differential Revision: https://phabricator.services.mozilla.com/D29525

--HG--
extra : moz-landing-system : lando
2019-05-01 21:11:48 +00:00
Andrea Marchesini
da4c1080ef Bug 1548253 - Port pref cache variables of nsContentUtils to StaticPrefs - dom.script_loader.bytecode_cache.enabled, r=Ehsan
Differential Revision: https://phabricator.services.mozilla.com/D29523

--HG--
extra : moz-landing-system : lando
2019-05-01 21:11:17 +00:00
Andrea Marchesini
4426f8f63b Bug 1548253 - Port pref cache variables of nsContentUtils to StaticPrefs - network.http.tailing.enabled, r=Ehsan
Differential Revision: https://phabricator.services.mozilla.com/D29520

--HG--
extra : moz-landing-system : lando
2019-05-01 21:10:31 +00:00
Dana Keeler
c90cfeaf74 bug 1441989 - remove ContentVerifier r=baku,mayhemer
ContentVerifier has been dead code since bug 1355166 (which, incidentally, means
it has no tests). Its presence is preventing improvements to
ContentSignatureVerifier (see e.g. bug 1534600), so this patch removes it.
As a result, the nsILoadInfo attributes verifySignedContent and enforceSRI are
also unused, so this patch removes those as well.

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

--HG--
extra : moz-landing-system : lando
2019-04-26 22:21:36 +00:00
dlee
9878ae650d Bug 1522412 - P2. Remove nsIChannel.LOAD_CLASSIFY_URI flag. r=Ehsan
nsIChannel.LOAD_CLASSIFY_URI is no longer required so we can remove it from
the codebase.
In the mean time, we add a new LOAD_BYPASS_URL_CLASSIFIER load flag for
channel creator to be able to force channel to bypass URL classifier check.
The use of the new LOAD_BYPASS_URL_CLASSIFIER flag will be addressed in
the other patches.

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

--HG--
extra : moz-landing-system : lando
2019-03-25 12:47:57 +00:00
Gurzau Raul
2666e16a53 Backed out 7 changesets (bug 1522412) for xpcshell failures at test_shouldclassify.js on a CLOSED TREE.
Backed out changeset 7c998456e1fd (bug 1522412)
Backed out changeset ebb581ddf1d1 (bug 1522412)
Backed out changeset 850e1c68d978 (bug 1522412)
Backed out changeset fe288a48cecb (bug 1522412)
Backed out changeset 5399bca472b1 (bug 1522412)
Backed out changeset 91e5b339fe11 (bug 1522412)
Backed out changeset b80098d0a5c4 (bug 1522412)
2019-03-21 11:02:09 +02:00
Dimi Lee
8f1caf4049 Bug 1522412 - P2. Remove nsIChannel.LOAD_CLASSIFY_URI flag. r=Ehsan
nsIChannel.LOAD_CLASSIFY_URI is no longer required so we can remove it from
the codebase.
In the mean time, we add a new LOAD_BYPASS_URL_CLASSIFIER load flag for
channel creator to be able to force channel to bypass URL classifier check.
The use of the new LOAD_BYPASS_URL_CLASSIFIER flag will be addressed in
the other patches.

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

--HG--
extra : moz-landing-system : lando
2019-03-21 07:30:51 +00:00
Andrea Marchesini
5bb6c49ba8 Bug 1535799 - nsIHttpChannel.isTrackingResource should be a method, r=Ehsan
Differential Revision: https://phabricator.services.mozilla.com/D23765

--HG--
extra : moz-landing-system : lando
2019-03-17 06:55:50 +00:00
Andrea Marchesini
61d20299f1 Bug 1533074 - Implement Fingerprinting and Cryptomining annotation features - Part 4 - tests, r=dimi
Differential Revision: https://phabricator.services.mozilla.com/D22471

--HG--
extra : moz-landing-system : lando
2019-03-14 17:48:50 +00:00
Dorel Luca
3ef1df6038 Backed out 5 changesets (bug 1533074) for eslint failure
Backed out changeset 36c6a7178a5c (bug 1533074)
Backed out changeset 7e6a8fadff5b (bug 1533074)
Backed out changeset 2a0494fed543 (bug 1533074)
Backed out changeset 38470d2dd98c (bug 1533074)
Backed out changeset af4e03d1f5c8 (bug 1533074)
2019-03-14 09:14:15 +02:00
Andrea Marchesini
587086626b Bug 1533074 - Implement Fingerprinting and Cryptomining annotation features - Part 4 - tests, r=dimi
Differential Revision: https://phabricator.services.mozilla.com/D22471

--HG--
extra : moz-landing-system : lando
2019-03-14 06:32:40 +00:00
Luke Wagner
b15a5f46a8 Bug 1487113 - MOZ_RELEASE_ASSERT existing implicit assumption about alt-data Write() in ScriptLoader.cpp (r=baku) 2019-03-04 19:38:13 -06:00
Luke Wagner
80a840b62f Bug 1487113 - Use CloseWithStatus in ScriptLoader.cpp to indicate failure (r=baku) 2019-03-04 19:35:41 -06: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
Jan Beich
d07e11b5f7 Bug 1529480 - Unbreak --enable-warnings-as-errors without GeckoProfiler after bug 1515209. r=mstange
--HG--
extra : histedit_source : ec7ddc470325be4bc18c3b6af93f222b2237ff73
2019-02-23 12:00:28 +00:00
Cosmin Sabou
f3db52f4cf Merge mozilla-inbound to mozilla-central. a=merge 2019-02-21 05:42:03 +02:00
Christoph Kerschbaumer
54df1cb98c Bug 1528677: Remove nullchecks for loadinfo since we have loadinfo on all channels. r=baku 2019-02-20 13:27:25 +01:00
Andrea Marchesini
64d3f6f9da Bug 1487113 - nsICacheInfoChannel.preferAlternativeDataType() should expose alt-data as optional if required, r=valentin
Differential Revision: https://phabricator.services.mozilla.com/D20200

--HG--
extra : moz-landing-system : lando
2019-02-20 10:05:42 +00:00
Ciure Andrei
fe3f244555 Backed out 3 changesets (bug 1487113) for perma failing test_alt-data_stream_wrap.js CLOSED TREE
Backed out changeset 831ac8c662c0 (bug 1487113)
Backed out changeset a8406df01e95 (bug 1487113)
Backed out changeset 1e97c3573ce6 (bug 1487113)
2019-02-19 11:43:13 +02:00
Andrea Marchesini
52efd15b05 Bug 1487113 - nsICacheInfoChannel.preferAlternativeDataType() should expose alt-data as optional if required, r=valentin
Differential Revision: https://phabricator.services.mozilla.com/D20200

--HG--
extra : moz-landing-system : lando
2019-02-19 07:38:31 +00:00
Gurzau Raul
c1733291c0 Merge inbound to mozilla-central. a=merge 2019-02-14 19:01:42 +02:00
shindli
c6c323a9e4 Merge mozilla-central to inbound. a=merge CLOSED TREE
--HG--
extra : rebase_source : 4502430f7e773b654c4557946c39000735b14bb3
2019-02-14 06:58:32 +02:00
Christoph Kerschbaumer
d65faafb09 Bug 1509738: CSP snapshot nonce at load start time. r=baku
--HG--
extra : rebase_source : ea232b7a3aeae9c18895e885d1536ca58c8de1bd
extra : amend_source : b0c351f8c0c1a5eb7865a735f8dc5bafb42384f1
2019-02-13 20:45:29 +01:00
Markus Stange
59eaae38a1 Bug 1515209 - Add a text marker for <script> evaluation. r=gerald
Differential Revision: https://phabricator.services.mozilla.com/D19189

--HG--
extra : moz-landing-system : lando
2019-02-14 05:25:13 +00:00
Noemi Erli
0a63dd9be6 Backed out 2 changesets (bug 1509738) for failures in propagate-nonce-external-classic.html
Backed out changeset fbf4b73c8786 (bug 1509738)
Backed out changeset 53f624bc7c22 (bug 1509738)
2019-02-13 16:22:44 +02:00
Christoph Kerschbaumer
7859700e5d Bug 1509738 - CSP snapshot nonce at load start time. r=baku
--HG--
extra : rebase_source : b532f519b79a3bc14ece0c0ee829edd400149e48
extra : amend_source : d4b8fba240a9d28437ee436b94313fd1602426c4
extra : histedit_source : 6af35eb388f6c23d80d8412533fec02abe2d4cff
2019-02-13 13:46:50 +01:00
Andreea Pavel
e09dd2a72d Backed out 2 changesets (bug 1509738) for failing propagate-nonce-external-classic.html on a CLOSED TREE
Backed out changeset 5cbc3f79a126 (bug 1509738)
Backed out changeset 44a945b21f87 (bug 1509738)
2019-02-13 02:18:28 +02:00
Christoph Kerschbaumer
6111ccf5fd Bug 1509738: CSP snapshot nonce at load start time r=baku
Differential Revision: https://phabricator.services.mozilla.com/D19519

--HG--
extra : moz-landing-system : lando
2019-02-12 18:01:32 +00:00
Jonathan Kingston
3421b8fcff Bug 1520868 - Replacing AsyncOpen2 with AsyncOpen always r=valentin
Replacing js and text occurences of asyncOpen2
Replacing open2 with open

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

--HG--
rename : layout/style/test/test_asyncopen2.html => layout/style/test/test_asyncopen.html
extra : moz-landing-system : lando
2019-02-12 16:08:25 +00:00
Jon Coppeard
019d226699 Bug 1525627 - Report an error if there's no ScriptLoader for the current context. r=baku 2019-02-08 09:16:00 +02:00
Tom Schuster
a60d06b5ef Bug 1525006 - Add a new internal ContentPolicyType for ES6 modules. r=ckerschb
Differential Revision: https://phabricator.services.mozilla.com/D19269

--HG--
extra : moz-landing-system : lando
2019-02-12 13:16:32 +00:00
Sylvestre Ledru
14486004b6 Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2019-02-04 19:10:18 +00:00
Jon Coppeard
9972b41fd8 Bug 1523897 - Only initialize debugger data for modules the first time they are executed r=smaug 2019-02-01 10:26:14 +00:00
Andrea Marchesini
43a5f36077 Bug 1522210 - Fingerprinting and cryptomining classifiers must have separate nsIWebProgressListener blocking state codes - part 1 - UrlClassifierFeatureFactory::IsClassifierBlockingErrorCode, r=ehsan
Differential Revision: https://phabricator.services.mozilla.com/D17637
2019-01-30 13:43:34 +01:00
Eric Faust
32c3097562 Bug 1520274 - Allow serving BinAST scripts with nosniff. (r=baku, r=dveditz)
--HG--
extra : rebase_source : 0e0599b4501d7c2ba37dc127b8deaf94b5ab52c5
2019-01-30 10:50:47 -08:00
Randell Jesup
76bd9e73cc Bug 1522150: Add a DeferredTimers queue ahead of the normal Idle EventQueue r=froyd
* * *
Bug 1522150: Rename NS_IdleDispatch* functions since they take queue identifiers r=froyd
2019-01-26 12:18:05 -05:00
Markus Stange
9570f02a8c Bug 1514007 - Annotate <script> evaluation profiler labels with async/defer. r=smaug
This also moves the label from ScriptLoader::ProcessScriptElement to
ScriptLoader::EvaluateScript so that it also kicks in for scripts that are run
from NotifyOffThreadScriptLoadCompletedRunnable::Run.

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

--HG--
extra : moz-landing-system : lando
2019-01-25 20:38:39 +00:00
Jon Coppeard
4f8971adb3 Bug 1513014 - Defer reporting errors while preloading until the request is actually used r=smaug 2019-01-24 14:57:30 +00:00
Razvan Maries
299b5e79f7 Merge mozilla-inbound to mozilla-central a=merge 2019-01-21 19:50:56 +02:00
Sylvestre Ledru
755a1a7c2f Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2019-01-21 14:49:22 +00:00
Jon Coppeard
173ea88195 Bug 1518075 - Add another check for null script because compilation can 'succeed' if scripting is disabled r=smaug 2019-01-21 12:40:55 +00:00
Jon Coppeard
f731989df0 Bug 1519140 - Add AddRef/Release hooks for embedding's script or module private value and set this script source object where appropriate r=jandem 2019-01-18 13:37:43 +00:00
Sylvestre Ledru
47a5dd1fb8 Bug 1519636 - Reformat everything to the Google coding style r=Ehsan
# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2019-01-16 08:50:07 +00:00
Brian Hackett
655a9a04fe Bug 1517167 Part 1 - Set introduction information for dynamically generated <script> elements, r=jorendorff.
--HG--
extra : rebase_source : 6a2080d724ccac7ccc5f1c45191a1f46ceed6c56
2019-01-03 06:27:01 -10:00
Jon Coppeard
66048b9129 Bug 1518075 - Add check for null script because compilation can 'succeed' if scripting is disabled r=smaug 2019-01-08 10:41:48 +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
Jon Coppeard
2909aa196d Bug 1342012 - Make import() work when the active script is in another document r=smaug 2019-01-03 10:06:01 +00:00
Jon Coppeard
bdfdf72d44 Bug 1342012 - Fix error message that covers all import() failures that don't throw a JS exception r=jandem 2019-01-03 10:06:00 +00:00