Commit graph

53 commits

Author SHA1 Message Date
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
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
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
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
Simon Giesecke
c368d437ee Bug 1680269 - Fix includes for ScriptLoadHandler. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D98492
2020-12-07 14:21:35 +00:00
Simon Giesecke
1c53236b70 Bug 1679272 - Include ScopeExit.h exactly where used. r=andi
Differential Revision: https://phabricator.services.mozilla.com/D98888
2020-12-07 14:25:59 +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
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
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
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
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
Simon Giesecke
80de7dcd75 Bug 1613985 - Use default for equivalent-to-default constructors/destructors in dom/script. r=smaug
Depends on D66027

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

--HG--
extra : moz-landing-system : lando
2020-03-09 15:04:35 +00:00
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
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
Sylvestre Ledru
f12b9fa5c3 Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2019-10-06 18:29:55 +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
Nicolas B. Pierron
2b2064b0e4 Bug 1573904 - Measure the potential for a streaming parser. data-review=chutten r=jorendorff,chutten
Differential Revision: https://phabricator.services.mozilla.com/D42039

--HG--
extra : moz-landing-system : lando
2019-08-26 15:26:16 +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
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
Jeff Walden
f9ad080e62 Bug 1554362 - Replace the two ScriptLoadHandler::EnsureDecoder overloads with one inline function that fast-paths the already-have-one test and an out-of-line function that tries to provide one presuming none exists. r=bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D34823

--HG--
extra : moz-landing-system : lando
2019-06-15 20:48:12 +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
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
Tooru Fujisawa
5387becfb9 Bug 1519302 - Add pref to restrict BinAST feature to specific hosts. r=baku
To reduce the attack surface in early test for BinAST, add a preference to
restrict the hosts that Firefox accepts BinAST file from.
The preference is turned on by default (BinAST itself is turned off by
default for now), and the list contains hosts which is going to be used in
early test.
For hosts not listed in the list, Firefox doesn't send BinAST MIME-Type in
Accept field, and doesn't handle BinAST file in case the server returns
BinAST file.

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

--HG--
extra : moz-landing-system : lando
2019-01-17 03:22:39 +00:00
Andreea Pavel
a71daaa45c Backed out changeset 8c88a33dc39f (bug 1519302) for failing _mozilla/binast/domain-restrict-excluded.https.html on a CLOSED TREE 2019-01-16 19:34:18 +02:00
Tooru Fujisawa
57d8853e72 Bug 1519302 - Add pref to restrict BinAST feature to specific hosts. r=baku
To reduce the attack surface in early test for BinAST, add a preference to
restrict the hosts that Firefox accepts BinAST file from.
The preference is turned on by default (BinAST itself is turned off by
default for now), and the list contains hosts which is going to be used in
early test.
For hosts not listed in the list, Firefox doesn't send BinAST MIME-Type in
Accept field, and doesn't handle BinAST file in case the server returns
BinAST file.

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

--HG--
extra : moz-landing-system : lando
2019-01-16 13:12:00 +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
Eric Faust
3c5e5d4276 Bug 1504788 - Part 1: Allow reloads of bytecode cached BinAST. (r=baku)
--HG--
extra : rebase_source : 85b38c56332de4406ab4593c16d237bc84775fd8
extra : source : 3f6dc8af5bca9425844b78c6973252f4a3127f13
2018-11-13 13:23:57 -08:00
Cosmin Sabou
f7b0ca04e0 Backed out 3 changesets (bug 1504788) for mochitest failures on test_script_loader_js_cache.
Backed out changeset 8ed6a977ba83 (bug 1504788)
Backed out changeset 2fba05049f9c (bug 1504788)
Backed out changeset 3f6dc8af5bca (bug 1504788)

--HG--
extra : rebase_source : a9f6e153353b3aefa3e5df8c7b6eb5b47c4cac3b
2018-11-13 03:26:04 +02:00
Eric Faust
d019eadd7e Bug 1504788 - Part 1: Allow reloads of bytecode cached BinAST. (r=baku)
--HG--
extra : rebase_source : 8a91e46fd05aa9d01d033fb373782419e021bb7e
extra : amend_source : ce8c2b28a5af4f19968c4013ecc40cf18e7cd000
extra : histedit_source : 8ab5b4862a7e3baf2bf48177f9ea79e2c38091ae
2018-11-12 16:21:08 -08:00
Jon Coppeard
7e4b3bcb99 Bug 1480720 - Factor out script fetch options from script load request classes r=baku 2018-08-06 10:54:28 +01:00
Jon Coppeard
b64ad562af Bug 1475228 - Allocate script loader source buffers on the JS heap and pass ownership when compiling r=baku 2018-07-17 14:30:24 +01:00
Nicolas B. Pierron
bdd58b3482 Bug 1461672 - Remove Telemetry probe added to tune the JSBC. r=francois,bkelly 2018-05-21 17:17:18 +00:00
Jon Coppeard
8d493df52b Bug 1444956 - Support BinAST decoding in the script loader r=baku 2018-05-16 15:58:13 +01:00
Jon Coppeard
61e2c40529 Bug 1361369 - Fix coding style in ScriptLoadRequest.h r=smaug 2018-01-08 15:17:33 +00:00
Masatoshi Kimura
b515c9c804 Bug 1373984 - Turn nsIDocument::mCharacterSet into mozilla::NotNull<const mozilla::Encoding*>. r=hsivonen
MozReview-Commit-ID: GF0YXDwfA14

--HG--
extra : rebase_source : fdae0046f882d47fb539a7f882364e5c5caafdcd
extra : source : 49249788c0dee331ac2989dc39f0505d965a7bd8
2017-06-18 20:37:50 +09:00
Sebastian Hengst
dfc1ad2562 Backed out changeset 7235d05662b0 (bug 1373984) for Android bustage. r=backout on a CLOSED TREE 2017-06-25 18:30:13 +02:00
Masatoshi Kimura
2e04751921 Bug 1373984 - Turn nsIDocument::mCharacterSet into mozilla::NotNull<const mozilla::Encoding*>. r=hsivonen
MozReview-Commit-ID: GF0YXDwfA14

--HG--
extra : rebase_source : a84ab644f52e68676b45f112ff69f868d89f6177
extra : source : 49249788c0dee331ac2989dc39f0505d965a7bd8
2017-06-18 20:37:50 +09:00
Wes Kocher
e02435a31e Backed out changeset 77af189b5c49 (bug 1373984) for build bustage in nsHtml5Parser.cpp a=backout CLOSED TREE
MozReview-Commit-ID: 6kBmU71j2To
2017-06-25 05:10:14 -07:00
Masatoshi Kimura
241039fd97 Bug 1373984 - Turn nsIDocument::mCharacterSet into mozilla::NotNull<const mozilla::Encoding*>. r=hsivonen
MozReview-Commit-ID: GF0YXDwfA14

--HG--
extra : rebase_source : 09da1685795583513bf019d61c58230c2c4d298d
extra : source : 49249788c0dee331ac2989dc39f0505d965a7bd8
2017-06-18 20:37:50 +09:00
Henri Sivonen
432653453a Bug 1261841 part 2 - Use encoding_rs instead of uconv. r=emk,mystor.
MozReview-Commit-ID: 15Y5GTX98bv
2017-06-13 13:23:23 +03:00
Nicolas B. Pierron
45f5fab197 Bug 1370345 - Create JS bytecode mime type based on the platform BuildID instead of MOZ_BUILDID macro. r=mrbkap 2017-06-09 13:52:52 +00:00
Nicolas B. Pierron
6534093b4d Bug 1368675 - Add multiple heuristics to trigger the JS bytecode cache encoding. r=mrbkap 2017-06-05 12:06:20 +00:00
Andrea Marchesini
cd805aa7fd Bug 1362119 - part 2 - Fixing the code style in dom/script, r=ehsan 2017-05-08 08:25:03 +02:00
Andrea Marchesini
9326c6d072 Bug 1362119 - part 2 - Splitting ScriptLoader in multiple files, r=ehsan
This patch it's huge because I use hg cp in order to keep the history/blame
during the moving.

--HG--
rename : dom/script/ScriptLoader.cpp => dom/script/ModuleLoadRequest.cpp
rename : dom/script/ScriptLoader.cpp => dom/script/ModuleLoadRequest.h
rename : dom/script/ScriptLoader.cpp => dom/script/ModuleScript.cpp
rename : dom/script/ScriptLoader.cpp => dom/script/ModuleScript.h
rename : dom/script/ScriptLoader.cpp => dom/script/ScriptLoadHandler.cpp
rename : dom/script/ScriptLoader.h => dom/script/ScriptLoadHandler.h
rename : dom/script/ScriptLoader.cpp => dom/script/ScriptLoadRequest.cpp
rename : dom/script/ScriptLoader.h => dom/script/ScriptLoadRequest.h
2017-05-08 08:24:44 +02:00
Carsten "Tomcat" Book
6201e6527c Backed out changeset a8abdd77a92c (bug 1362119) 2017-05-08 09:54:08 +02:00