Граф коммитов

51 Коммитов

Автор SHA1 Сообщение Дата
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
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
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
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
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
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 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
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
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
Jon Coppeard 045c231468 Bug 1342012 - Make load request element optional 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 ce265eb48d Bug 1342012 - Initial browser support for dynamic import from module scripts r=smaug 2018-12-06 16:52:15 -05: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
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
Andreea Pavel 840f785b1e Backed out 8 changesets (bug 1475228) for wpt failures e.g. html/semantics/scripting-1/the-script-element/execution-timing/088.html on a CLOSED TREE
Backed out changeset b2d18ea619ec (bug 1475228)
Backed out changeset 45d3ffe3308e (bug 1475228)
Backed out changeset 02b27f8441be (bug 1475228)
Backed out changeset b82c2cf4b3f1 (bug 1475228)
Backed out changeset 2bc8f24dc3fc (bug 1475228)
Backed out changeset 6104ea971587 (bug 1475228)
Backed out changeset 7c83633262db (bug 1475228)
Backed out changeset 34fb24d52f08 (bug 1475228)
2018-07-30 16:49:02 +03:00
Jon Coppeard 7c613e5ab4 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
Jon Coppeard 8d493df52b Bug 1444956 - Support BinAST decoding in the script loader r=baku 2018-05-16 15:58:13 +01:00
Andrew McCreight 269f53f8b6 Bug 1451985 - Tell the cycle collector about ScriptLoadRequest::mElement. r=baku
Not doing this can cause a leak because there is a cycle between the
load request and the script element.

MozReview-Commit-ID: E7GbH5iDBP6

--HG--
extra : rebase_source : b9c16b5a40bf465f28f792cbf727909d1f976c31
2018-04-19 16:33:12 -07:00
Andrea Marchesini 8f0c2b3ab9 Bug 1428745 - Remove support for version parameter from script loader, r=jonco 2018-01-09 17:00:49 +01:00
Narcis Beleuzu 0cc8c52dcb Backed out 6 changesets (bug 1428745) for wpt failures on script-type-and-language-with-params.html. r=backout on a CLOSED TREE
Backed out changeset 9e84285278fe (bug 1428745)
Backed out changeset e199f1ccf64c (bug 1428745)
Backed out changeset dfb9af93ac53 (bug 1428745)
Backed out changeset 1d975770bd9a (bug 1428745)
Backed out changeset 1d5dc7dfd429 (bug 1428745)
Backed out changeset 4e53f251c5b8 (bug 1428745)
2018-01-10 00:37:59 +02:00
Andrea Marchesini 9d1d1b1ff3 Bug 1428745 - Remove support for version parameter from script loader, r=jonco 2018-01-09 17:00:49 +01:00
Jon Coppeard 61e2c40529 Bug 1361369 - Fix coding style in ScriptLoadRequest.h r=smaug 2018-01-08 15:17:33 +00:00
Jon Coppeard 0d68beed29 Bug 1361369 - Add a script processing mode enum r=smaug 2018-01-08 15:17:33 +00:00
Jon Coppeard a606770b91 Bug 1361369 - Rename some script load request flags to be more descriptive r=smaug 2018-01-08 15:17:33 +00:00
Jon Coppeard bd0f421e61 Bug 1426190 - Integrity option for descendant module scripts should be the empty string r=smaug 2017-12-21 10:58:53 +00:00
Jon Coppeard ef759bb6a5 Bug 1425843 - Pass correct referrer and referrer policy when fetching modules r=smaug 2017-12-19 15:30:49 +00:00
Jon Coppeard cf046ed130 Bug 1365187 - Keep track of which modules in a graph have been fetched using a visited set r=smaug 2017-12-14 15:13:57 -06:00
Jan de Mooij a8cef631a3 Bug 1417895 part 2 - Use a ValidJSVersion enum instead of JSVersion in script loader. r=bz 2017-11-18 23:16:09 +01:00
Honza Bambas 2f9f6408e0 Bug 1053321 - Correctly pass info about 'defer' and 'async' attributes to HTML5 parser invoked script preload. r=bkelly 2017-08-19 05:35:00 -04:00
Phil Ringnalda c5ab89e934 Backed out changeset 548ed79f2337 (bug 1053321) for strange and terribly-reported failures in Android opt mochitest-15 and debug mochitest-36
CLOSED TREE

MozReview-Commit-ID: IigWQ1wnxhZ

--HG--
extra : source : 70bd3854b6d034b67419ba11044b6cbe82b713bc
2017-08-01 23:13:42 -07:00
Honza Bambas f33b5cb515 Bug 1053321 - Correctly pass info about 'defer' and 'async' attributes to HTML5 parser invoked script preload. r=bkelly
--HG--
extra : histedit_source : 1743f499ca20d75df7e957fab1c942c4f4e22df8
2017-08-01 21:21:09 +02:00
Ryan VanderMeulen 1b497ab253 Backed out changeset 20344f0dbff9 (bug 1053321) for ESLint failures. 2017-08-01 16:14:01 -04:00
Honza Bambas d8659dd692 Bug 1053321 - Correctly pass info about 'defer' and 'async' attributes to HTML5 parser invoked script preload. r=bkelly 2017-08-01 12:43:00 -04: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
Carsten "Tomcat" Book a786373f4a Backed out changeset 30104bffcd4b (bug 1362119) 2017-05-08 09:54:06 +02:00
Andrea Marchesini f629d54e2c Bug 1362119 - part 2 - Fixing the code style in dom/script, r=ehsan 2017-05-08 08:25:03 +02:00