Commit graph

200 commits

Author SHA1 Message Date
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
Jon Coppeard
de102bc69b Bug 1342012 - Also associate classic scripts from the bytecode cache r=smaug 2019-01-03 10:06:00 +00:00
Jon Coppeard
e8462c961e Bug 1342012 - Allow dynamic import in cases where there's no referencing script or module r=smaug 2018-12-06 16:52:18 -05:00
Jon Coppeard
045c231468 Bug 1342012 - Make load request element optional r=smaug 2018-12-06 16:52:18 -05:00
Jon Coppeard
f008add28c Bug 1342012 - Support import from timeout handlers by associating the initiating script with the compiled JSScript r=smaug 2018-12-06 16:52:18 -05:00
Jon Coppeard
142826e981 Bug 1342012 - Support dynamic import from classic scripts by creating ClassicScript objects and associating them with the compiled JSScriptsr r=smaug 2018-12-06 16:52:17 -05:00
Jon Coppeard
e6bd951e8e Bug 1342012 - Refactor nsJSUtils::ExecutionContext to separate compilation and execution steps and allow extraction of compiled JSScript r=nbp r=smaug 2018-12-06 16:52:16 -05:00
Jon Coppeard
4346ae1ac4 Bug 1342012 - Rename ModuleScript source files to LoadedScript r=smaug
--HG--
rename : dom/script/ModuleScript.cpp => dom/script/LoadedScript.cpp
rename : dom/script/ModuleScript.h => dom/script/LoadedScript.h
2018-12-06 16:52:16 -05:00
Jon Coppeard
ce265eb48d Bug 1342012 - Initial browser support for dynamic import from module scripts r=smaug 2018-12-06 16:52:15 -05:00
Ehsan Akhgari
c970e3b98e Bug 1510817 - Don't doubly warn when we can't load a script due to tracking protection; r=baku
Differential Revision: https://phabricator.services.mozilla.com/D14861

--HG--
extra : moz-landing-system : lando
2018-12-18 15:19:02 +00:00
Jean-Yves Avenard
bdddd3ed8a Bug 1512456 - P8. Use GenericNonExclusivePromise where needed. r=gerald,alwu
Those MozPromises are shared and must be made non-exclusive

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

--HG--
extra : moz-landing-system : lando
2018-12-11 10:47:01 +00:00
Sylvestre Ledru
265e672179 Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format
# ignore-this-changeset

--HG--
extra : amend_source : 4d301d3b0b8711c4692392aa76088ba7fd7d1022
2018-11-30 11:46:48 +01:00
Jeff Walden
af9a670e28 Bug 1510007 - Move JSFreeOp's definition to js/public/MemoryFunctions.h, and make jsapi.h not #include that header. r=sfink
--HG--
extra : rebase_source : 4d6debefd66b89647df53c104b8560ba2de68abd
2018-11-21 18:11:15 -08:00
Brian Hackett
6cff6a35a8 Bug 1505935 Part 5 - Remove unnecessary NoteContentParse call, r=froydnj.
--HG--
extra : rebase_source : 2976d91162ae2a0817e7ec4d862a371eb1ef5aa1
2018-11-10 15:28:50 -10:00
Thomas Nguyen
aa4e9e43de Bug 1460920 - Part 2 : Support referrerpolicy attribute in script HTMLScriptElement r=hsivonen
The patch adds the support of referrerpolicy attribute in script element
and take the attribute into account when loading script.

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

--HG--
extra : moz-landing-system : lando
2018-11-13 14:33:02 +00:00
Jeff Walden
7dd0d06d8c Bug 1485800 - Rename SourceBufferHolder to SourceText, and add a <typename Unit> template parameter to it so it can hold putative UTF-8 or UTF-16 source text. r=tcampbell, r=fitzgen
--HG--
rename : js/public/SourceBufferHolder.h => js/public/SourceText.h
extra : rebase_source : 34df669c2481eaccd6845f53c5ecf656b636f895
2018-11-08 18:42:48 -08:00
Jeff Walden
f2196f8c8f Bug 1503086 - Initialize all SourceBufferHolders with a fallible function that in all cases assumes ownership of given-ownership data. r=tcampbell, r=bz, r=mrbkap on some finicky worker code lightly touched here
--HG--
extra : rebase_source : 94b1a13dc03a7f1a5d07a2c665fdc0cde162d411
2018-10-23 12:27:16 -07:00
Kris Maglione
6fb571f4fb Bug 1356412: Part 2 - Remove script loader path mangling from DOM code. r=bz
As in part 1, this no longer serves any purpose.

This patch also removes the otherwise unused WrappersEnabled() method, which
was similarly only useful before we had compartment-based security isolation.
Its functionality is now handled by compartment flags.

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

--HG--
extra : rebase_source : e4c85eda6cdf430844dea828e2eee3a083f2616d
2018-11-02 16:15:26 -07:00
Andrea Marchesini
4439acd683 Bug 1498510 - Move nsICSPEventListener out of CSP object, r=ckerschb 2018-10-23 08:17:13 +02:00
Valentin Gosu
5ac68030f7 Bug 1487100 - Allow calling nsICacheInfoChannel.preferAlternativeDataType(altDataType, contentType) multiple times r=michal,luke
This patch changes the way we set and handle the preferred alternate data type.
It is no longer just one choice, but a set of preferences, each conditional
on the contentType of the resource.

For example:
  var cc = chan.QueryInterface(Ci.nsICacheInfoChannel);
  cc.preferAlternativeDataType("js-bytecode", "text/javascript");
  cc.preferAlternativeDataType("ammended-text", "text/plain");
  cc.preferAlternativeDataType("something-else", "");

When loaded from the cache, the available alt-data type will be checked against
"js-bytecode" if the contentType is "text/javascript", "ammended-text" if the contentType is "text/plain" or "something-else" for all contentTypes.
Note that the alt-data type could be "something-else" even if the contentType is "text/javascript".

The preferences are saved as an nsTArray<mozilla::Tuple<nsCString, nsCString>>.

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

--HG--
extra : rebase_source : eb4961f05a52e557e7d2d986d59e0a2cf18a3447
extra : source : dd1c31ea78c2b15d14750d137037a54d50719997
2018-10-17 13:58:30 +00:00
Dorel Luca
1a48c88d19 Backed out 2 changesets (bug 1487100) for XPCShell failures in netwerk/test/unit_ipc/test_alt-data_simple_wrap.js
Backed out changeset 7f9d03c29a6f (bug 1487100)
Backed out changeset dd1c31ea78c2 (bug 1487100)
2018-10-18 05:51:42 +03:00
Valentin Gosu
e392dbc5dd Bug 1487100 - Allow calling nsICacheInfoChannel.preferAlternativeDataType(altDataType, contentType) multiple times r=michal,luke
This patch changes the way we set and handle the preferred alternate data type.
It is no longer just one choice, but a set of preferences, each conditional
on the contentType of the resource.

For example:
  var cc = chan.QueryInterface(Ci.nsICacheInfoChannel);
  cc.preferAlternativeDataType("js-bytecode", "text/javascript");
  cc.preferAlternativeDataType("ammended-text", "text/plain");
  cc.preferAlternativeDataType("something-else", "");

When loaded from the cache, the available alt-data type will be checked against
"js-bytecode" if the contentType is "text/javascript", "ammended-text" if the contentType is "text/plain" or "something-else" for all contentTypes.
Note that the alt-data type could be "something-else" even if the contentType is "text/javascript".

The preferences are saved as an nsTArray<mozilla::Tuple<nsCString, nsCString>>.

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

--HG--
extra : moz-landing-system : lando
2018-10-17 13:58:30 +00:00
Jon Coppeard
18de456bcf Bug 1482153 - Provide a way of associating a private value with a script or module r=jandem rs=hsivonen 2018-10-16 13:44:12 +01:00
Jeff Walden
73790f54e4 Bug 1493441 - Allow ScriptSource to store UTF-8 script data in addition to UTF-16 script data (but don't create any UTF-8-backed ScriptSources yet). r=tcampbell 2018-09-29 17:28:31 -04:00
Henri Sivonen
2dc4ea580d Bug 1495011. r=baku.
MozReview-Commit-ID: 8d7DzFnZx4n

Differential Revision: https://phabricator.services.mozilla.com/D7273
2018-10-08 11:13:52 +03:00
Boris Zbarsky
4983b1e55c Bug 1493449. Change the default credentials mode for module scripts from 'omit' to 'same-origin'. r=farre
The tests come directly from
https://github.com/web-platform-tests/wpt/pull/13176 and
https://github.com/web-platform-tests/wpt/pull/13245

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

--HG--
extra : moz-landing-system : lando
2018-10-06 04:49:13 +00:00
Boris Zbarsky
b572f4e281 Bug 1496159. Don't try to load modules from the bytecode cache. r=nbp 2018-10-05 11:30:22 -04:00
Jon Coppeard
6c612a4a15 Backed out changeset ba122021b8b5 (bug 1481196) 2018-10-04 11:50:55 +01:00
Jon Coppeard
20fb3bd245 Backed out changeset da82ea6820ee (bug 1482153) 2018-10-04 11:50:55 +01:00
Jeff Walden
64fceacad0 Bug 1486577 - Don't #include "js/CompilationAndEvaluation.h" in jsapi.h, minimizing the scope of that header and reducing translation-unit size of anything that needs JSAPI but doesn't need to compile/evaluate JavaScript. r=jandem
--HG--
extra : rebase_source : cd9a8becc15477bc5e24408159d4f061ec81c8b2
2018-08-24 22:51:49 -05:00
Jeff Walden
4bdf4a3614 Bug 1486577 - Don't #include js/SourceBufferHolder.h in jsapi.h, and instead require users to do so -- a minor translation-unit size improvement for anyone who never has to use SourceBufferHolder other than by reference. r=jandem
--HG--
extra : rebase_source : df47aba0c7dac3fe80ab6ea1b9a34c7acc54850d
2018-08-24 21:01:58 -05:00
Jon Coppeard
6877f8fb6f Bug 1469599 - Associate all module scripts in a module graph with DOM elements before execution r=hsivonen 2018-08-22 14:54:17 +01:00
Francois Marier
309a23afc3 Bug 1482950 - Use the correct 3rdparty check in tracking annotations. r=dimi,Ehsan,mayhemer!,ehsan!
The mIsTrackingResource flag on nsIHttpChannel was split into two separate
flags depending on whether or not the resource is third-party. The correct
flag will be set by the channel classifier. Similarly, a new function was
introduced, GetIsThirdPartyTrackingResource(), for those consumers (like TP)
who only care about third-party trackers.

The existing function, GetIsTracking(), will continue to look at both
first-party and third-party trackers (the behavior since first party
tracking was added to annotations in bug 1476324).

The OverrideTrackingResource() function now allows nsHTMLDocument to
override both mIsFirstPartyTrackingResource and
mIsThirdPartyTrackingResource, but since this function is a little dangerous
and only has a single user, I added an assert to make future callers think
twice about using it to opt out of tracking annotations.

Currently, only the default storage restrictions need to look at first-party
trackers so every other consumer has been moved to
mIsThirdPartyTrackingResource or GetIsThirdPartyTrackingResource().

This effectively reverts the third-party checks added in bug 1476715 and
replaces them with the more complicated check that was added in bug 1108017.
It follows the approach that Ehsan initially suggested in bug 1476715. It
also reverts the changes in the expected values of the tracking annotation
test since these were, in hindsight, a warning about this regression.

Depends on D3722

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

--HG--
extra : moz-landing-system : lando
2018-08-20 23:53:45 +00:00
Jon Coppeard
58a3b0b973 Bug 1482153 - Replace ModuleObject's host defined field with one on top-level JSScripts r=jandem r=hsivonen 2018-08-13 16:39:11 +01:00