diff -Nru firefox-trunk-72.0~a1~hg20191110r501419/browser/actors/PageStyleParent.jsm firefox-trunk-72.0~a1~hg20191112r501544/browser/actors/PageStyleParent.jsm --- firefox-trunk-72.0~a1~hg20191110r501419/browser/actors/PageStyleParent.jsm 2019-11-10 17:02:26.000000000 +0000 +++ firefox-trunk-72.0~a1~hg20191112r501544/browser/actors/PageStyleParent.jsm 2019-11-12 17:17:05.000000000 +0000 @@ -15,10 +15,10 @@ let permanentKey = browser.permanentKey; let window = browser.ownerGlobal; - if (window.closed) { + let styleMenu = window.gPageStyleMenu; + if (window.closed || !styleMenu) { return; } - let styleMenu = window.gPageStyleMenu; switch (msg.name) { case "PageStyle:Add": diff -Nru firefox-trunk-72.0~a1~hg20191110r501419/browser/app/blocklist.xml firefox-trunk-72.0~a1~hg20191112r501544/browser/app/blocklist.xml --- firefox-trunk-72.0~a1~hg20191110r501419/browser/app/blocklist.xml 2019-11-10 17:02:26.000000000 +0000 +++ firefox-trunk-72.0~a1~hg20191112r501544/browser/app/blocklist.xml 2019-11-12 17:17:05.000000000 +0000 @@ -1,5 +1,5 @@ - + @@ -3525,10 +3525,6 @@ - - - - @@ -3541,6 +3537,14 @@ + + + + + + + + diff -Nru firefox-trunk-72.0~a1~hg20191110r501419/browser/app/nsBrowserApp.cpp firefox-trunk-72.0~a1~hg20191112r501544/browser/app/nsBrowserApp.cpp --- firefox-trunk-72.0~a1~hg20191110r501419/browser/app/nsBrowserApp.cpp 2019-11-10 17:02:26.000000000 +0000 +++ firefox-trunk-72.0~a1~hg20191112r501544/browser/app/nsBrowserApp.cpp 2019-11-12 17:17:05.000000000 +0000 @@ -286,7 +286,15 @@ DllBlocklist_Initialize(gBlocklistInitFlags); #endif + // XXX: We are testing whether removing LibLoadingStrategy::ReadAhead has a + // positive / neutral affect on Nightly startup measures. If it does, we will + // rip out the enum and corresponding arguments. See bug 1565902. +#ifdef NIGHTLY_BUILD + nsresult rv = InitXPCOMGlue(LibLoadingStrategy::NoReadAhead); +#else nsresult rv = InitXPCOMGlue(LibLoadingStrategy::ReadAhead); +#endif + if (NS_FAILED(rv)) { return 255; } diff -Nru firefox-trunk-72.0~a1~hg20191110r501419/browser/app/profile/firefox.js firefox-trunk-72.0~a1~hg20191112r501544/browser/app/profile/firefox.js --- firefox-trunk-72.0~a1~hg20191110r501419/browser/app/profile/firefox.js 2019-11-10 17:02:26.000000000 +0000 +++ firefox-trunk-72.0~a1~hg20191112r501544/browser/app/profile/firefox.js 2019-11-12 17:17:05.000000000 +0000 @@ -404,12 +404,7 @@ pref("permissions.default.desktop-notification", 0); pref("permissions.default.shortcuts", 0); -#ifdef EARLY_BETA_OR_EARLIER - pref("permissions.desktop-notification.postPrompt.enabled", true); -#else - pref("permissions.desktop-notification.postPrompt.enabled", false); -#endif - +pref("permissions.desktop-notification.postPrompt.enabled", true); pref("permissions.desktop-notification.notNow.enabled", false); pref("permissions.fullscreen.allowed", false); @@ -2134,18 +2129,8 @@ // Enable the Network Monitor pref("devtools.netmonitor.enabled", true); -// Enable Network Search in Nightly builds. -#if defined(NIGHTLY_BUILD) || defined(MOZ_DEV_EDITION) - pref("devtools.netmonitor.features.search", true); -#else - pref("devtools.netmonitor.features.search", false); -#endif - -#if defined(NIGHTLY_BUILD) || defined(MOZ_DEV_EDITION) - pref("devtools.netmonitor.features.requestBlocking", true); -#else - pref("devtools.netmonitor.features.requestBlocking", false); -#endif +pref("devtools.netmonitor.features.search", true); +pref("devtools.netmonitor.features.requestBlocking", true); // Enable the Application panel pref("devtools.application.enabled", false); @@ -2183,12 +2168,7 @@ pref("devtools.netmonitor.har.pageLoadedTimeout", 1500); pref("devtools.netmonitor.har.enableAutoExportToFile", false); -// Enable WebSocket monitoring in Nightly and DevEdition/Beta builds. -#if defined(NIGHTLY_BUILD) || defined(MOZ_DEV_EDITION) - pref("devtools.netmonitor.features.webSockets", true); -#else - pref("devtools.netmonitor.features.webSockets", false); -#endif +pref("devtools.netmonitor.features.webSockets", true); // Enable the Storage Inspector pref("devtools.storage.enabled", true); diff -Nru firefox-trunk-72.0~a1~hg20191110r501419/browser/base/content/test/static/browser_misused_characters_in_strings.js firefox-trunk-72.0~a1~hg20191112r501544/browser/base/content/test/static/browser_misused_characters_in_strings.js --- firefox-trunk-72.0~a1~hg20191110r501419/browser/base/content/test/static/browser_misused_characters_in_strings.js 2019-11-10 17:02:26.000000000 +0000 +++ firefox-trunk-72.0~a1~hg20191112r501544/browser/base/content/test/static/browser_misused_characters_in_strings.js 2019-11-12 17:17:05.000000000 +0000 @@ -90,11 +90,6 @@ type: "double-quote", }, { - file: "xbl.properties", - key: "CommandNotInChrome", - type: "double-quote", - }, - { file: "dom.properties", key: "PatternAttributeCompileFailure", type: "single-quote", diff -Nru firefox-trunk-72.0~a1~hg20191110r501419/browser/components/search/extensions/engines.json firefox-trunk-72.0~a1~hg20191112r501544/browser/components/search/extensions/engines.json --- firefox-trunk-72.0~a1~hg20191110r501419/browser/components/search/extensions/engines.json 2019-11-10 17:02:26.000000000 +0000 +++ firefox-trunk-72.0~a1~hg20191112r501544/browser/components/search/extensions/engines.json 2019-11-12 17:17:06.000000000 +0000 @@ -6,9 +6,11 @@ "id": "google@search.mozilla.org", "version": "1.0" }, - "searchUrlGetParams": { - "client": "firefox-b-d", - "q": "{searchTerms}" + "params": { + "searchUrlGetParams": { + "client": "firefox-b-d", + "q": "{searchTerms}" + } }, "telemetryId": "google-b-d", "appliesTo": [{ @@ -19,9 +21,11 @@ "application": { "channel": ["esr"] }, - "searchUrlGetParams": { - "client": "firefox-b-e", - "q": "{searchTerms}" + "params": { + "searchUrlGetParams": { + "client": "firefox-b-e", + "q": "{searchTerms}" + } }, "telemetryId": "google-b-e" }, { @@ -46,9 +50,11 @@ "application": { "channel": ["esr"] }, - "searchUrlGetParams": { - "client": "firefox-b-e", - "q": "{searchTerms}" + "params": { + "searchUrlGetParams": { + "client": "firefox-b-e", + "q": "{searchTerms}" + } }, "default": "no" }, { @@ -69,16 +75,20 @@ "application": { "channel": ["esr"] }, - "searchUrlGetParams": { - "client": "firefox-b-e", - "q": "{searchTerms}" + "params": { + "searchUrlGetParams": { + "client": "firefox-b-e", + "q": "{searchTerms}" + } }, "default": "no" }, { "included": { "regions": ["us"] }, - "searchUrlGetParams": { - "client": "firefox-b-1-d", - "q": "{searchTerms}" + "params": { + "searchUrlGetParams": { + "client": "firefox-b-1-d", + "q": "{searchTerms}" + } }, "telemetryId": "google-b-1-d" }, { @@ -86,9 +96,11 @@ "application": { "channel": ["esr"] }, - "searchUrlGetParams": { - "client": "firefox-b-1-e", - "q": "{searchTerms}" + "params": { + "searchUrlGetParams": { + "client": "firefox-b-1-e", + "q": "{searchTerms}" + } }, "telemetryId": "google-b-1-e" }] @@ -98,9 +110,11 @@ "id": "bing@search.mozilla.org", "version": "1.0" }, - "searchUrlGetParams": { - "q": "{searchTerms}", - "pc": "MOZI" + "params": { + "searchUrlGetParams": { + "q": "{searchTerms}", + "pc": "MOZI" + } }, "extraParams": [{ "name": "form", @@ -136,7 +150,7 @@ "cak", "da", "de", "dsb", "el", "eo", "es-CL", "es-ES", "es-MX", "eu", "fa", "ff", "fi", "fr", "fy-NL", "gn", "gu-IN", "hi-IN", "hr", "hsb", "ia", "is", "it", - "ja-JP-mac", "ja", "ka", "kab", "km", "kn", "lij", "lo", + "ja-JP-macos", "ja", "ka", "kab", "km", "kn", "lij", "lo", "lt", "mai", "mk", "ml", "ms", "my", "nb-NO", "ne-NP", "nl", "nn-NO", "oc", "or", "pa-IN", "pt-BR", "rm", "ro", "son", "sq", "sr", "sv-SE", "th", "tl", "trs", "uk", "ur", "uz", @@ -155,16 +169,18 @@ "version": "1.0" }, "telemetryId": "baidu", - "searchUrlGetParams": { - "wd": "{searchTerms}", - "tn": "monline_7_dg", - "ie": "utf-8" - }, - "suggestUrlGetParams": { - "wd": "{searchTerms}", - "tn": "monline_7_dg", - "ie": "utf-8", - "action": "opensearch" + "params": { + "searchUrlGetParams": { + "wd": "{searchTerms}", + "tn": "monline_7_dg", + "ie": "utf-8" + }, + "suggestUrlGetParams": { + "wd": "{searchTerms}", + "tn": "monline_7_dg", + "ie": "utf-8", + "action": "opensearch" + } }, "appliesTo": [{ "included": { "locales": { "matches": ["zh-CN"] } } @@ -183,12 +199,14 @@ "version": "1.1" }, "telemetryId": "amazondotcom", - "suggestUrlGetParams": { - "field-keywords": "{searchTerms}", - "ie": "{inputEncoding}", - "mode": "blended", - "tag": "mozilla-20", - "sourceid": "Mozilla-search" + "params": { + "searchUrlGetParams": { + "field-keywords": "{searchTerms}", + "ie": "{inputEncoding}", + "mode": "blended", + "tag": "mozilla-20", + "sourceid": "Mozilla-search" + } }, "appliesTo": [{ "included": { "regions": ["default"] } @@ -257,12 +275,14 @@ "locales": ["france"] }, "telemetryId": "amazon-france", - "searchUrlGetParams": { - "field-keywords": "{searchTerms}", - "ie": "{inputEncoding}", - "mode": "blended", - "tag": "firefox-fr-21", - "sourceid":"Mozilla-search" + "params": { + "searchUrlGetParams": { + "field-keywords": "{searchTerms}", + "ie": "{inputEncoding}", + "mode": "blended", + "tag": "firefox-fr-21", + "sourceid":"Mozilla-search" + } } }, { "included": { @@ -282,12 +302,14 @@ "locales": ["en-GB"] }, "telemetryId": "amazon-en-GB", - "searchUrlGetParams": { - "field-keywords": "{searchTerms}", - "ie": "{inputEncoding}", - "mode": "blended", - "tag": "firefox-uk-21", - "sourceid":"Mozilla-search" + "params": { + "searchUrlGetParams": { + "field-keywords": "{searchTerms}", + "ie": "{inputEncoding}", + "mode": "blended", + "tag": "firefox-uk-21", + "sourceid":"Mozilla-search" + } } }] }, @@ -297,10 +319,12 @@ "id": "amazon@search.mozilla.org", "version": "1.1" }, - "searchUrlGetParams": { - "field-keywords": "{searchTerms}", - "ie": "{inputEncoding}", - "mode": "blended" + "params": { + "searchUrlGetParams": { + "field-keywords": "{searchTerms}", + "ie": "{inputEncoding}", + "mode": "blended" + } }, "appliesTo": [{ "included": { @@ -321,12 +345,14 @@ "locales": ["france"] }, "telemetryId": "amazon-france", - "searchUrlGetParams": { - "field-keywords": "{searchTerms}", - "ie": "{inputEncoding}", - "mode": "blended", - "tag": "firefox-fr-21", - "sourceid":"Mozilla-search" + "params": { + "searchUrlGetParams": { + "field-keywords": "{searchTerms}", + "ie": "{inputEncoding}", + "mode": "blended", + "tag": "firefox-fr-21", + "sourceid":"Mozilla-search" + } } }, { "included": { @@ -344,17 +370,19 @@ }, "telemetryId": "amazon-ca" }, { - "included": { "locales": { "matches": ["ja-JP-mac", "ja"] } }, + "included": { "locales": { "matches": ["ja-JP-macos", "ja"] } }, "webExtension": { "locales": ["jp"] }, "telemetryId": "amazon-jp", - "searchUrlGetParams": { - "field-keywords": "{searchTerms}", - "ie": "{inputEncoding}", - "mode": "blended", - "tag": "mozillajapan-fx-22", - "sourceid":"Mozilla-search" + "params": { + "searchUrlGetParams": { + "field-keywords": "{searchTerms}", + "ie": "{inputEncoding}", + "mode": "blended", + "tag": "mozillajapan-fx-22", + "sourceid":"Mozilla-search" + } } }, { "included": { "locales": { "matches": ["it", "lij"] } }, @@ -362,12 +390,14 @@ "locales": ["it"] }, "telemetryId": "amazon-it", - "searchUrlGetParams": { - "field-keywords": "{searchTerms}", - "ie": "{inputEncoding}", - "mode": "blended", - "tag": "firefoxit-21", - "sourceid":"Mozilla-search" + "params": { + "searchUrlGetParams": { + "field-keywords": "{searchTerms}", + "ie": "{inputEncoding}", + "mode": "blended", + "tag": "firefoxit-21", + "sourceid":"Mozilla-search" + } } }, { "included": { "locales": { "matches": ["de", "dsb", "hsb"] } }, @@ -375,12 +405,14 @@ "locales": ["de"] }, "telemetryId": "amazon-de", - "searchUrlGetParams": { - "field-keywords": "{searchTerms}", - "ie": "{inputEncoding}", - "mode": "blended", - "tag": "firefox-de-21", - "sourceid":"Mozilla-search" + "params": { + "searchUrlGetParams": { + "field-keywords": "{searchTerms}", + "ie": "{inputEncoding}", + "mode": "blended", + "tag": "firefox-de-21", + "sourceid":"Mozilla-search" + } } }, { "included": { @@ -395,12 +427,14 @@ "locales": ["en-GB"] }, "telemetryId": "amazon-en-GB", - "searchUrlGetParams": { - "field-keywords": "{searchTerms}", - "ie": "{inputEncoding}", - "mode": "blended", - "tag": "firefox-uk-21", - "sourceid":"Mozilla-search" + "params": { + "searchUrlGetParams": { + "field-keywords": "{searchTerms}", + "ie": "{inputEncoding}", + "mode": "blended", + "tag": "firefox-uk-21", + "sourceid":"Mozilla-search" + } } }, { "included": { @@ -425,14 +459,16 @@ "version": "1.0" }, "telemetryId": "amazondotcn", - "suggestUrlGetParams": { - "keywords": "{searchTerms}", - "ix": "sunray", - "pageletid": "headsearch", - "searchType": "", - "Go.x": "0", - "Go.y": "0", - "bestSaleNum": "0" + "params": { + "searchUrlGetParams": { + "keywords": "{searchTerms}", + "ix": "sunray", + "pageletid": "headsearch", + "searchType": "", + "Go.x": "0", + "Go.y": "0", + "bestSaleNum": "0" + } }, "appliesTo": [{ "included": { "locales": { "matches": ["zh-CN"] } } @@ -444,12 +480,14 @@ "id": "ebay@search.mozilla.org", "version": "1.0" }, - "searchUrlGetParams": { - "ff3": "4", - "toolid": "20004", - "campid": "5338192028", - "customid": "", - "mpre": "https://www.ebay.com/sch/{searchTerms}" + "params": { + "searchUrlGetParams": { + "ff3": "4", + "toolid": "20004", + "campid": "5338192028", + "customid": "", + "mpre": "https://www.ebay.com/sch/{searchTerms}" + } }, "appliesTo": [{ "included": { "regions": ["default"] } @@ -465,12 +503,14 @@ "locales": ["au"] }, "telemetryId": "ebay-au", - "searchUrlGetParams": { - "ff3": "4", - "toolid": "20004", - "campid": "5338192028", - "customid": "", - "mpre": "https://www.ebay.com.au/sch/{searchTerms}" + "params": { + "searchUrlGetParams": { + "ff3": "4", + "toolid": "20004", + "campid": "5338192028", + "customid": "", + "mpre": "https://www.ebay.com.au/sch/{searchTerms}" + } } }, { "included": { @@ -481,12 +521,14 @@ "locales": ["ie"] }, "telemetryId": "ebay-ie", - "searchUrlGetParams": { - "ff3": "4", - "toolid": "20004", - "campid": "5338192028", - "customid": "", - "mpre": "https://www.ebay.ie/sch/{searchTerms}" + "params": { + "searchUrlGetParams": { + "ff3": "4", + "toolid": "20004", + "campid": "5338192028", + "customid": "", + "mpre": "https://www.ebay.ie/sch/{searchTerms}" + } } }, { "included": { @@ -497,12 +539,14 @@ "locales": ["be"] }, "telemetryId": "ebay-be", - "searchUrlGetParams": { - "ff3": "4", - "toolid": "20004", - "campid": "5338192028", - "customid": "", - "mpre": "https://www.befr.ebay.be/sch/{searchTerms}" + "params": { + "searchUrlGetParams": { + "ff3": "4", + "toolid": "20004", + "campid": "5338192028", + "customid": "", + "mpre": "https://www.befr.ebay.be/sch/{searchTerms}" + } } }, { "included": { "locales": { @@ -512,12 +556,14 @@ "locales": ["es"] }, "telemetryId": "ebay-es", - "searchUrlGetParams": { - "ff3": "4", - "toolid": "20004", - "campid": "5338192028", - "customid": "", - "mpre": "https://www.ebay.es/sch/{searchTerms}" + "params": { + "searchUrlGetParams": { + "ff3": "4", + "toolid": "20004", + "campid": "5338192028", + "customid": "", + "mpre": "https://www.ebay.es/sch/{searchTerms}" + } } }, { "included": { "locales": { "matches": ["br", "fr", "wo"] }}, @@ -525,12 +571,14 @@ "locales": ["fr"] }, "telemetryId": "ebay-fr", - "searchUrlGetParams": { - "ff3": "4", - "toolid": "20004", - "campid": "5338192028", - "customid": "", - "mpre": "https://www.ebay.fr/sch/{searchTerms}" + "params": { + "searchUrlGetParams": { + "ff3": "4", + "toolid": "20004", + "campid": "5338192028", + "customid": "", + "mpre": "https://www.ebay.fr/sch/{searchTerms}" + } } }, { "included": { @@ -541,12 +589,14 @@ "locales": ["be"] }, "telemetryId": "ebay-be", - "searchUrlGetParams": { - "ff3": "4", - "toolid": "20004", - "campid": "5338192028", - "customid": "", - "mpre": "https://www.befr.ebay.be/sch/{searchTerms}" + "params": { + "searchUrlGetParams": { + "ff3": "4", + "toolid": "20004", + "campid": "5338192028", + "customid": "", + "mpre": "https://www.befr.ebay.be/sch/{searchTerms}" + } } }, { "included": { @@ -557,12 +607,14 @@ "locales": ["ca"] }, "telemetryId": "ebay-ca", - "searchUrlGetParams": { - "ff3": "4", - "toolid": "20004", - "campid": "5338192028", - "customid": "", - "mpre": "https://www.ebay.ca/sch/{searchTerms}" + "params": { + "searchUrlGetParams": { + "ff3": "4", + "toolid": "20004", + "campid": "5338192028", + "customid": "", + "mpre": "https://www.ebay.ca/sch/{searchTerms}" + } } }, { "included": { @@ -573,12 +625,14 @@ "locales": ["ch"] }, "telemetryId": "ebay-ch", - "searchUrlGetParams": { - "ff3": "4", - "toolid": "20004", - "campid": "5338192028", - "customid": "", - "mpre": "https://www.ebay.ch/sch/{searchTerms}" + "params": { + "searchUrlGetParams": { + "ff3": "4", + "toolid": "20004", + "campid": "5338192028", + "customid": "", + "mpre": "https://www.ebay.ch/sch/{searchTerms}" + } } }, { "included": { "locales": { "matches": ["cy", "en-GB", "gd"] }}, @@ -586,12 +640,14 @@ "locales": ["uk"] }, "telemetryId": "ebay-uk", - "searchUrlGetParams": { - "ff3": "4", - "toolid": "20004", - "campid": "5338192028", - "customid": "", - "mpre": "https://www.ebay.co.uk/sch/{searchTerms}" + "params": { + "searchUrlGetParams": { + "ff3": "4", + "toolid": "20004", + "campid": "5338192028", + "customid": "", + "mpre": "https://www.ebay.co.uk/sch/{searchTerms}" + } } }, { "included": { @@ -602,12 +658,14 @@ "locales": ["au"] }, "telemetryId": "ebay-au", - "searchUrlGetParams": { - "ff3": "4", - "toolid": "20004", - "campid": "5338192028", - "customid": "", - "mpre": "https://www.ebay.com.au/sch/{searchTerms}" + "params": { + "searchUrlGetParams": { + "ff3": "4", + "toolid": "20004", + "campid": "5338192028", + "customid": "", + "mpre": "https://www.ebay.com.au/sch/{searchTerms}" + } } }, { "included": { @@ -624,12 +682,14 @@ "locales": ["de"] }, "telemetryId": "ebay-de", - "searchUrlGetParams": { - "ff3": "4", - "toolid": "20004", - "campid": "5338192028", - "customid": "", - "mpre": "https://www.ebay.de/sch/{searchTerms}" + "params": { + "searchUrlGetParams": { + "ff3": "4", + "toolid": "20004", + "campid": "5338192028", + "customid": "", + "mpre": "https://www.ebay.de/sch/{searchTerms}" + } } }, { "included": { @@ -640,12 +700,14 @@ "locales": ["at"] }, "telemetryId": "ebay-at", - "searchUrlGetParams": { - "ff3": "4", - "toolid": "20004", - "campid": "5338192028", - "customid": "", - "mpre": "https://www.ebay.at/sch/{searchTerms}" + "params": { + "searchUrlGetParams": { + "ff3": "4", + "toolid": "20004", + "campid": "5338192028", + "customid": "", + "mpre": "https://www.ebay.at/sch/{searchTerms}" + } } }, { "included": { @@ -662,12 +724,14 @@ "locales": ["ca"] }, "telemetryId": "ebay-ca", - "searchUrlGetParams": { - "ff3": "4", - "toolid": "20004", - "campid": "5338192028", - "customid": "", - "mpre": "https://www.ebay.ca/sch/{searchTerms}" + "params": { + "searchUrlGetParams": { + "ff3": "4", + "toolid": "20004", + "campid": "5338192028", + "customid": "", + "mpre": "https://www.ebay.ca/sch/{searchTerms}" + } } }, { "included": { "locales": { "matches": ["fy-NL", "nl"] }}, @@ -675,12 +739,14 @@ "locales": ["nl"] }, "telemetryId": "ebay-nl", - "searchUrlGetParams": { - "ff3": "4", - "toolid": "20004", - "campid": "5338192028", - "customid": "", - "mpre": "https://www.ebay.nl/sch/{searchTerms}" + "params": { + "searchUrlGetParams": { + "ff3": "4", + "toolid": "20004", + "campid": "5338192028", + "customid": "", + "mpre": "https://www.ebay.nl/sch/{searchTerms}" + } } }, { "included": { @@ -691,12 +757,14 @@ "locales": ["be"] }, "telemetryId": "ebay-be", - "searchUrlGetParams": { - "ff3": "4", - "toolid": "20004", - "campid": "5338192028", - "customid": "", - "mpre": "https://www.befr.ebay.be/sch/{searchTerms}" + "params": { + "searchUrlGetParams": { + "ff3": "4", + "toolid": "20004", + "campid": "5338192028", + "customid": "", + "mpre": "https://www.befr.ebay.be/sch/{searchTerms}" + } } }, { "included": { "locales": { "matches": ["ga-IE"] }}, @@ -704,12 +772,14 @@ "locales": ["ie"] }, "telemetryId": "ebay-ie", - "searchUrlGetParams": { - "ff3": "4", - "toolid": "20004", - "campid": "5338192028", - "customid": "", - "mpre": "https://www.ebay.ie/sch/{searchTerms}" + "params": { + "searchUrlGetParams": { + "ff3": "4", + "toolid": "20004", + "campid": "5338192028", + "customid": "", + "mpre": "https://www.ebay.ie/sch/{searchTerms}" + } } }, { "included": { "locales": { "matches": ["it", "lij"] }}, @@ -717,12 +787,14 @@ "locales": ["it"] }, "telemetryId": "ebay-it", - "searchUrlGetParams": { - "ff3": "4", - "toolid": "20004", - "campid": "5338192028", - "customid": "", - "mpre": "https://www.ebay.it/sch/{searchTerms}" + "params": { + "searchUrlGetParams": { + "ff3": "4", + "toolid": "20004", + "campid": "5338192028", + "customid": "", + "mpre": "https://www.ebay.it/sch/{searchTerms}" + } } }, { "included": { "locales": { "matches": ["rm"] }}, @@ -730,12 +802,14 @@ "locales": ["ch"] }, "telemetryId": "ebay-ch", - "searchUrlGetParams": { - "ff3": "4", - "toolid": "20004", - "campid": "5338192028", - "customid": "", - "mpre": "https://www.ebay.ch/sch/{searchTerms}" + "params": { + "searchUrlGetParams": { + "ff3": "4", + "toolid": "20004", + "campid": "5338192028", + "customid": "", + "mpre": "https://www.ebay.ch/sch/{searchTerms}" + } } }] }, @@ -1163,7 +1237,7 @@ "id": "oshiete-goo@search.mozilla.org", "version": "1.0" }, - "appliesTo": [{ "included": { "locales": { "matches": ["ja-JP-mac", "jp"]}}}] + "appliesTo": [{ "included": { "locales": { "matches": ["ja-JP-macos", "jp"]}}}] }, { "webExtension": { @@ -1247,7 +1321,7 @@ "id": "rakuten@search.mozilla.org", "version": "1.2" }, - "appliesTo": [{ "included": { "locales": { "matches": ["ja-JP-mac", "jp"]}}}] + "appliesTo": [{ "included": { "locales": { "matches": ["ja-JP-macos", "jp"]}}}] }, { "webExtension": { @@ -1297,7 +1371,7 @@ "sl", "tl", "tr", "ur", "uz", "wo" ]}} }, { - "included": { "locales": { "matches": ["ja-JP-mac", "ja"]}}, + "included": { "locales": { "matches": ["ja-JP-macos", "ja"]}}, "webExtension": { "locales": ["ja"] } @@ -1346,14 +1420,14 @@ "id": "yahoo-jp@search.mozilla.org", "version": "1.0" }, - "appliesTo": [{ "included": { "locales": { "matches": ["ja-JP-mac", "ja"]}}}] + "appliesTo": [{ "included": { "locales": { "matches": ["ja-JP-macos", "ja"]}}}] }, { "webExtension": { "id": "yahoo-jp-auctions@search.mozilla.org", "version": "1.2" }, - "appliesTo": [{ "included": { "locales": { "matches": ["ja-JP-mac", "ja"]}}}] + "appliesTo": [{ "included": { "locales": { "matches": ["ja-JP-macos", "ja"]}}}] }, { "webExtension": { diff -Nru firefox-trunk-72.0~a1~hg20191110r501419/browser/components/search/SearchTelemetry.jsm firefox-trunk-72.0~a1~hg20191112r501544/browser/components/search/SearchTelemetry.jsm --- firefox-trunk-72.0~a1~hg20191110r501419/browser/components/search/SearchTelemetry.jsm 2019-11-10 17:02:26.000000000 +0000 +++ firefox-trunk-72.0~a1~hg20191112r501544/browser/components/search/SearchTelemetry.jsm 2019-11-12 17:17:05.000000000 +0000 @@ -565,7 +565,7 @@ activityType != Ci.nsIHttpActivityObserver.ACTIVITY_TYPE_HTTP_TRANSACTION || activitySubtype != - Ci.nsIHttpActivityObserver.ACTIVITY_SUBTYPE_RESPONSE_COMPLETE + Ci.nsIHttpActivityObserver.ACTIVITY_SUBTYPE_TRANSACTION_CLOSE ) { return; } diff -Nru firefox-trunk-72.0~a1~hg20191110r501419/browser/components/search/test/unit/test_urlTelemetry.js firefox-trunk-72.0~a1~hg20191112r501544/browser/components/search/test/unit/test_urlTelemetry.js --- firefox-trunk-72.0~a1~hg20191110r501419/browser/components/search/test/unit/test_urlTelemetry.js 2019-11-10 17:02:26.000000000 +0000 +++ firefox-trunk-72.0~a1~hg20191112r501544/browser/components/search/test/unit/test_urlTelemetry.js 2019-11-12 17:17:05.000000000 +0000 @@ -149,7 +149,7 @@ SearchTelemetry._contentHandler.observeActivity( channel, Ci.nsIHttpActivityObserver.ACTIVITY_TYPE_HTTP_TRANSACTION, - Ci.nsIHttpActivityObserver.ACTIVITY_SUBTYPE_RESPONSE_COMPLETE + Ci.nsIHttpActivityObserver.ACTIVITY_SUBTYPE_TRANSACTION_CLOSE ); // Since the content handler takes a moment to allow the channel information // to settle down, wait the same amount of time here. diff -Nru firefox-trunk-72.0~a1~hg20191110r501419/browser/components/urlbar/moz.build firefox-trunk-72.0~a1~hg20191112r501544/browser/components/urlbar/moz.build --- firefox-trunk-72.0~a1~hg20191110r501419/browser/components/urlbar/moz.build 2019-11-10 17:02:26.000000000 +0000 +++ firefox-trunk-72.0~a1~hg20191112r501544/browser/components/urlbar/moz.build 2019-11-12 17:17:06.000000000 +0000 @@ -29,6 +29,7 @@ ] BROWSER_CHROME_MANIFESTS += [ 'tests/browser/browser.ini', + 'tests/ext/browser/browser.ini', ] XPCSHELL_TESTS_MANIFESTS += ['tests/unit/xpcshell.ini'] diff -Nru firefox-trunk-72.0~a1~hg20191110r501419/browser/components/urlbar/tests/ext/api.js firefox-trunk-72.0~a1~hg20191112r501544/browser/components/urlbar/tests/ext/api.js --- firefox-trunk-72.0~a1~hg20191110r501419/browser/components/urlbar/tests/ext/api.js 1970-01-01 00:00:00.000000000 +0000 +++ firefox-trunk-72.0~a1~hg20191112r501544/browser/components/urlbar/tests/ext/api.js 2019-11-12 17:17:05.000000000 +0000 @@ -0,0 +1,69 @@ +/* global ExtensionAPI */ + +"use strict"; + +const { XPCOMUtils } = ChromeUtils.import( + "resource://gre/modules/XPCOMUtils.jsm" +); +XPCOMUtils.defineLazyModuleGetters(this, { + AppMenuNotifications: "resource://gre/modules/AppMenuNotifications.jsm", + BrowserWindowTracker: "resource:///modules/BrowserWindowTracker.jsm", +}); + +this.experiments_urlbar = class extends ExtensionAPI { + getAPI() { + return { + experiments: { + urlbar: { + isBrowserShowingNotification() { + let window = BrowserWindowTracker.getTopWindow(); + + // urlbar view, app menu notification, notification box (info bar) + if ( + window.gURLBar.view.isOpen || + AppMenuNotifications.activeNotification || + window.gBrowser.getNotificationBox().currentNotification + ) { + return true; + } + + // tracking protection and identity box doorhangers + if ( + ["tracking-protection-icon-container", "identity-box"].some( + id => + window.document.getElementById(id).getAttribute("open") == + "true" + ) + ) { + return true; + } + + // page action button panels + let pageActions = window.document.getElementById( + "page-action-buttons" + ); + if (pageActions) { + for (let child of pageActions.childNodes) { + if (child.getAttribute("open") == "true") { + return true; + } + } + } + + // toolbar button panels + let navbar = window.document.getElementById( + "nav-bar-customization-target" + ); + for (let node of navbar.querySelectorAll("toolbarbutton")) { + if (node.getAttribute("open") == "true") { + return true; + } + } + + return false; + }, + }, + }, + }; + } +}; diff -Nru firefox-trunk-72.0~a1~hg20191110r501419/browser/components/urlbar/tests/ext/browser/browser_ext_urlbar_isBrowserShowingNotification.js firefox-trunk-72.0~a1~hg20191112r501544/browser/components/urlbar/tests/ext/browser/browser_ext_urlbar_isBrowserShowingNotification.js --- firefox-trunk-72.0~a1~hg20191110r501419/browser/components/urlbar/tests/ext/browser/browser_ext_urlbar_isBrowserShowingNotification.js 1970-01-01 00:00:00.000000000 +0000 +++ firefox-trunk-72.0~a1~hg20191112r501544/browser/components/urlbar/tests/ext/browser/browser_ext_urlbar_isBrowserShowingNotification.js 2019-11-12 17:17:06.000000000 +0000 @@ -0,0 +1,138 @@ +/* Any copyright is dedicated to the Public Domain. + * http://creativecommons.org/publicdomain/zero/1.0/ */ + +/* global browser */ + +// This tests the browser.urlbarExperiments.isBrowserShowingNotification +// WebExtension Experiment API. + +"use strict"; + +XPCOMUtils.defineLazyModuleGetters(this, { + AppMenuNotifications: "resource://gre/modules/AppMenuNotifications.jsm", +}); + +// isBrowserShowingNotification should return false when there are no +// notifications. +add_task(async function noNotifications() { + await checkExtension(false); +}); + +// isBrowserShowingNotification should return true when the urlbar view is open. +add_task(async function urlbarView() { + await UrlbarTestUtils.promiseAutocompleteResultPopup({ + window, + value: "test", + waitForFocus, + }); + await checkExtension(true); + await UrlbarTestUtils.promisePopupClose(window); +}); + +// isBrowserShowingNotification should return true when the tracking protection +// doorhanger is showing. +add_task(async function trackingProtection() { + await BrowserTestUtils.withNewTab("http://example.com/", async () => { + let panel = document.getElementById("protections-popup"); + document.getElementById("tracking-protection-icon-container").click(); + await BrowserTestUtils.waitForPopupEvent(panel, "shown"); + + await checkExtension(true); + + EventUtils.synthesizeKey("KEY_Escape"); + await BrowserTestUtils.waitForPopupEvent(panel, "hidden"); + }); +}); + +// isBrowserShowingNotification should return true when the site identity +// doorhanger is showing. +add_task(async function siteIdentity() { + await BrowserTestUtils.withNewTab("http://example.com/", async () => { + let panel = document.getElementById("identity-popup"); + document.getElementById("identity-box").click(); + await BrowserTestUtils.waitForPopupEvent(panel, "shown"); + + await checkExtension(true); + + EventUtils.synthesizeKey("KEY_Escape"); + await BrowserTestUtils.waitForPopupEvent(panel, "hidden"); + }); +}); + +// isBrowserShowingNotification should return true when a notification box (info +// bar) is showing. +add_task(async function notificationBox() { + let box = gBrowser.getNotificationBox(); + let note = box.appendNotification( + "Test", + "urlbar-test", + null, + box.PRIORITY_INFO_HIGH, + null, + null, + null + ); + + await checkExtension(true); + + box.removeNotification(note, true); +}); + +// isBrowserShowingNotification should return true when a page action panel is +// showing. +add_task(async function pageActionPanel() { + await BrowserTestUtils.withNewTab("http://example.com/", async () => { + let panel = document.getElementById("pageActionPanel"); + document.getElementById("pageActionButton").click(); + await BrowserTestUtils.waitForPopupEvent(panel, "shown"); + + await checkExtension(true); + + EventUtils.synthesizeKey("KEY_Escape"); + await BrowserTestUtils.waitForPopupEvent(panel, "hidden"); + }); +}); + +// isBrowserShowingNotification should return true when a toolbar button panel +// is showing. +add_task(async function toolbarButtonPanel() { + document.getElementById("library-button").click(); + + // CustomizableUI widget panels are temporary, so just wait until the panel + // exists. + await TestUtils.waitForCondition(() => { + return document.getElementById("customizationui-widget-panel"); + }); + + await checkExtension(true); + + EventUtils.synthesizeKey("KEY_Escape"); + await TestUtils.waitForCondition(() => { + return !document.getElementById("customizationui-widget-panel"); + }); +}); + +// isBrowserShowingNotification should return true when an app menu notification +// is showing. +add_task(async function appMenuNotification() { + AppMenuNotifications.showNotification("update-manual", { + callback: () => {}, + }); + let panel = document.getElementById("appMenu-notification-popup"); + await BrowserTestUtils.waitForPopupEvent(panel, "shown"); + + await checkExtension(true); + + AppMenuNotifications.dismissNotification("update-manual"); + await BrowserTestUtils.waitForPopupEvent(panel, "hidden"); +}); + +async function checkExtension(expectedShowing) { + let ext = await loadExtension(async () => { + let showing = await browser.experiments.urlbar.isBrowserShowingNotification(); + browser.test.sendMessage("showing", showing); + }); + let showing = await ext.awaitMessage("showing"); + Assert.equal(showing, expectedShowing); + await ext.unload(); +} diff -Nru firefox-trunk-72.0~a1~hg20191110r501419/browser/components/urlbar/tests/ext/browser/browser.ini firefox-trunk-72.0~a1~hg20191112r501544/browser/components/urlbar/tests/ext/browser/browser.ini --- firefox-trunk-72.0~a1~hg20191110r501419/browser/components/urlbar/tests/ext/browser/browser.ini 1970-01-01 00:00:00.000000000 +0000 +++ firefox-trunk-72.0~a1~hg20191112r501544/browser/components/urlbar/tests/ext/browser/browser.ini 2019-11-12 17:17:06.000000000 +0000 @@ -0,0 +1,12 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +[DEFAULT] +support-files = + ../../browser/head-common.js + ../api.js + ../schema.json + head.js + +[browser_ext_urlbar_isBrowserShowingNotification.js] diff -Nru firefox-trunk-72.0~a1~hg20191110r501419/browser/components/urlbar/tests/ext/browser/head.js firefox-trunk-72.0~a1~hg20191112r501544/browser/components/urlbar/tests/ext/browser/head.js --- firefox-trunk-72.0~a1~hg20191110r501419/browser/components/urlbar/tests/ext/browser/head.js 1970-01-01 00:00:00.000000000 +0000 +++ firefox-trunk-72.0~a1~hg20191112r501544/browser/components/urlbar/tests/ext/browser/head.js 2019-11-12 17:17:06.000000000 +0000 @@ -0,0 +1,66 @@ +/* Any copyright is dedicated to the Public Domain. + http://creativecommons.org/publicdomain/zero/1.0/ */ + +/** + * The files in this directory test the browser.urlbarExperiments WebExtension + * Experiment APIs, which are the WebExtension APIs we ship in our urlbar + * experiment extensions. Unlike the WebExtension APIs we ship in mozilla- + * central, which have continuous test coverage [1], our WebExtension Experiment + * APIs would not have continuous test coverage were it not for the fact that we + * copy and test them here. This is especially useful for APIs that are used in + * experiments that target multiple versions of Firefox, and for APIs that are + * reused in multiple experiments. See [2] and [3] for more info on + * experiments. + * + * [1] See browser/components/extensions/test + * [2] browser/components/urlbar/docs/experiments.rst + * [3] https://firefox-source-docs.mozilla.org/toolkit/components/extensions/webextensions/basics.html#webextensions-experiments + */ + +"use strict"; + +/* import-globals-from ../../browser/head-common.js */ +Services.scriptloader.loadSubScript( + "chrome://mochitests/content/browser/browser/components/urlbar/tests/ext/browser/head-common.js", + this +); + +const SCHEMA_BASENAME = "schema.json"; +const SCRIPT_BASENAME = "api.js"; + +const SCHEMA_PATH = getTestFilePath(SCHEMA_BASENAME); +const SCRIPT_PATH = getTestFilePath(SCRIPT_BASENAME); + +let schemaSource; +let scriptSource; + +add_task(async function loadSource() { + schemaSource = await (await fetch("file://" + SCHEMA_PATH)).text(); + scriptSource = await (await fetch("file://" + SCRIPT_PATH)).text(); +}); + +async function loadExtension(background) { + let ext = ExtensionTestUtils.loadExtension({ + manifest: { + permissions: ["urlbar"], + experiment_apis: { + experiments_urlbar: { + schema: SCHEMA_BASENAME, + parent: { + scopes: ["addon_parent"], + paths: [["experiments", "urlbar"]], + script: SCRIPT_BASENAME, + }, + }, + }, + }, + files: { + [SCHEMA_BASENAME]: schemaSource, + [SCRIPT_BASENAME]: scriptSource, + }, + isPrivileged: true, + background, + }); + await ext.startup(); + return ext; +} diff -Nru firefox-trunk-72.0~a1~hg20191110r501419/browser/components/urlbar/tests/ext/schema.json firefox-trunk-72.0~a1~hg20191112r501544/browser/components/urlbar/tests/ext/schema.json --- firefox-trunk-72.0~a1~hg20191110r501419/browser/components/urlbar/tests/ext/schema.json 1970-01-01 00:00:00.000000000 +0000 +++ firefox-trunk-72.0~a1~hg20191112r501544/browser/components/urlbar/tests/ext/schema.json 2019-11-12 17:17:06.000000000 +0000 @@ -0,0 +1,15 @@ +[ + { + "namespace": "experiments.urlbar", + "description": "APIs supporting urlbar experiments", + "functions": [ + { + "name": "isBrowserShowingNotification", + "type": "function", + "async": true, + "description": "Returns true if the browser is showing any kind of notification.", + "parameters": [] + } + ] + } +] diff -Nru firefox-trunk-72.0~a1~hg20191110r501419/browser/locales/en-US/browser/policies/policies-descriptions.ftl firefox-trunk-72.0~a1~hg20191112r501544/browser/locales/en-US/browser/policies/policies-descriptions.ftl --- firefox-trunk-72.0~a1~hg20191110r501419/browser/locales/en-US/browser/policies/policies-descriptions.ftl 2019-11-10 17:02:26.000000000 +0000 +++ firefox-trunk-72.0~a1~hg20191112r501544/browser/locales/en-US/browser/policies/policies-descriptions.ftl 2019-11-12 17:17:06.000000000 +0000 @@ -107,7 +107,7 @@ policy-InstallAddonsPermission = Allow certain websites to install add-ons. -policy-LegacyProfiles = Disable the feature enforcing a separate profile for each installation +policy-LegacyProfiles = Disable the feature enforcing a separate profile for each installation. policy-LocalFileLinks = Allow specific websites to link to local files. diff -Nru firefox-trunk-72.0~a1~hg20191110r501419/browser/themes/shared/controlcenter/panel.inc.css firefox-trunk-72.0~a1~hg20191112r501544/browser/themes/shared/controlcenter/panel.inc.css --- firefox-trunk-72.0~a1~hg20191110r501419/browser/themes/shared/controlcenter/panel.inc.css 2019-11-10 17:02:27.000000000 +0000 +++ firefox-trunk-72.0~a1~hg20191112r501544/browser/themes/shared/controlcenter/panel.inc.css 2019-11-12 17:17:06.000000000 +0000 @@ -1003,7 +1003,7 @@ min-width: 26px; border-radius: 10px; background-color: #F9F9FA; - border: 1px solid var(--panel-separator-color); + border: 1px solid hsla(210,4%,10%,.14); margin-top: 4px; margin-bottom: 4px; margin-inline-start: 1px; diff -Nru firefox-trunk-72.0~a1~hg20191110r501419/.cargo/config.in firefox-trunk-72.0~a1~hg20191112r501544/.cargo/config.in --- firefox-trunk-72.0~a1~hg20191110r501419/.cargo/config.in 2019-11-10 17:02:25.000000000 +0000 +++ firefox-trunk-72.0~a1~hg20191112r501544/.cargo/config.in 2019-11-12 17:17:05.000000000 +0000 @@ -2,6 +2,11 @@ # It was generated by `mach vendor rust`. # Please do not edit. +[source."https://github.com/shravanrn/nix/"] +branch = "r0.13.1" +git = "https://github.com/shravanrn/nix/" +replace-with = "vendored-sources" + [source."https://github.com/mozilla/neqo"] branch = "master" git = "https://github.com/mozilla/neqo" @@ -17,6 +22,16 @@ git = "https://github.com/alexcrichton/mio-named-pipes" replace-with = "vendored-sources" +[source."https://github.com/PLSysSec/rlbox_lucet_sandbox/"] +git = "https://github.com/PLSysSec/rlbox_lucet_sandbox/" +replace-with = "vendored-sources" +rev = "997c648eb0eaeaaa7a00a9eee20431f750b4e190" + +[source."https://github.com/PLSysSec/lucet_sandbox_compiler"] +branch = "master" +git = "https://github.com/PLSysSec/lucet_sandbox_compiler" +replace-with = "vendored-sources" + [source."https://github.com/NikVolf/tokio-named-pipes"] branch = "stable" git = "https://github.com/NikVolf/tokio-named-pipes" diff -Nru firefox-trunk-72.0~a1~hg20191110r501419/Cargo.lock firefox-trunk-72.0~a1~hg20191112r501544/Cargo.lock --- firefox-trunk-72.0~a1~hg20191110r501419/Cargo.lock 2019-11-10 17:02:26.000000000 +0000 +++ firefox-trunk-72.0~a1~hg20191112r501544/Cargo.lock 2019-11-12 17:17:05.000000000 +0000 @@ -67,7 +67,7 @@ version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.59 (registry+https://github.com/rust-lang/crates.io-index)", "termion 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -79,7 +79,7 @@ dependencies = [ "cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", "dbus 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.59 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", "mach 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", @@ -90,14 +90,14 @@ version = "0.2.4" dependencies = [ "audio_thread_priority 0.20.2 (registry+https://github.com/rust-lang/crates.io-index)", - "bincode 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "bincode 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "bytes 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)", "cc 1.0.34 (registry+https://github.com/rust-lang/crates.io-index)", "cubeb 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", "error-chain 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", "futures 0.1.23 (registry+https://github.com/rust-lang/crates.io-index)", "iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.59 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", "memmap 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "mio 0.6.19 (registry+https://github.com/rust-lang/crates.io-index)", @@ -150,7 +150,7 @@ "boxfnonce 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)", "core-foundation 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)", "devd-rs 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.59 (registry+https://github.com/rust-lang/crates.io-index)", "libudev 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", @@ -170,7 +170,7 @@ dependencies = [ "backtrace-sys 0.1.24 (registry+https://github.com/rust-lang/crates.io-index)", "cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.59 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-demangle 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -181,7 +181,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "cc 1.0.34 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.59 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -232,9 +232,10 @@ [[package]] name = "bincode" -version = "1.0.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ + "autocfg 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.88 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -324,7 +325,7 @@ "crossbeam-utils 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", "failure 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", "failure_derive 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.59 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", "moz_task 0.1.0", "nserror 0.1.0", @@ -368,7 +369,7 @@ "atomic_refcell 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "cstr 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", "dogear 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.59 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", "moz_task 0.1.0", "nserror 0.1.0", @@ -404,6 +405,11 @@ ] [[package]] +name = "cast" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] name = "cc" version = "1.0.34" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -459,7 +465,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "glob 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.59 (registry+https://github.com/rust-lang/crates.io-index)", "libloading 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -523,7 +529,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "core-foundation-sys 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.59 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -539,7 +545,7 @@ "bitflags 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "core-foundation 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)", "foreign-types 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.59 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -550,7 +556,7 @@ "core-foundation 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)", "core-graphics 0.17.1 (registry+https://github.com/rust-lang/crates.io-index)", "foreign-types 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.59 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -625,6 +631,11 @@ [[package]] name = "cranelift-entity" +version = "0.41.0" +source = "git+https://github.com/PLSysSec/lucet_sandbox_compiler#5c22392b5b1aaa60e915c75e92b57391e1e61e6d" + +[[package]] +name = "cranelift-entity" version = "0.46.1" source = "git+https://github.com/CraneStation/Cranelift?rev=da179e4fd83d49b7ad6c9f286b1ea04d4f64907e#da179e4fd83d49b7ad6c9f286b1ea04d4f64907e" @@ -782,7 +793,7 @@ "coreaudio-sys-utils 0.1.0", "cubeb-backend 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.59 (registry+https://github.com/rust-lang/crates.io-index)", "mach 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -842,7 +853,7 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.59 (registry+https://github.com/rust-lang/crates.io-index)", "libdbus-sys 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -882,7 +893,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.59 (registry+https://github.com/rust-lang/crates.io-index)", "nom 4.1.1 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -899,7 +910,7 @@ version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.59 (registry+https://github.com/rust-lang/crates.io-index)", "redox_users 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -948,7 +959,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.59 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.88 (registry+https://github.com/rust-lang/crates.io-index)", "serde_derive 1.0.88 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1067,7 +1078,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "crc32fast 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.59 (registry+https://github.com/rust-lang/crates.io-index)", + "miniz-sys 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", "miniz_oxide 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1086,7 +1098,7 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.59 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1134,7 +1146,7 @@ name = "gecko-fuzz-targets" version = "0.1.0" dependencies = [ - "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.59 (registry+https://github.com/rust-lang/crates.io-index)", "rkv 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)", "tempfile 3.0.5 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1169,10 +1181,10 @@ version = "0.0.1" dependencies = [ "atomic_refcell 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "bincode 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "bincode 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "cssparser 0.25.9 (registry+https://github.com/rust-lang/crates.io-index)", "cstr 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.59 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", "malloc_size_of 0.0.1", "nsstring 0.1.0", @@ -1195,6 +1207,17 @@ ] [[package]] +name = "getrandom" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)", + "fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.59 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] name = "gkrust" version = "0.1.0" dependencies = [ @@ -1248,6 +1271,7 @@ "nsstring 0.1.0", "prefs_parser 0.0.1", "profiler_helper 0.1.0", + "rlbox_lucet_sandbox 0.1.0 (git+https://github.com/PLSysSec/rlbox_lucet_sandbox/?rev=997c648eb0eaeaaa7a00a9eee20431f750b4e190)", "rsdparsa_capi 0.1.0", "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "shift_or_euc_c 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1329,7 +1353,7 @@ name = "hashglobe" version = "0.1.0" dependencies = [ - "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.59 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1462,7 +1486,7 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.59 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1488,7 +1512,7 @@ "env_logger 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", "glob 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.59 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", "mozjs_sys 0.0.0", "num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1533,7 +1557,7 @@ "crossbeam-utils 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", "failure 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.59 (registry+https://github.com/rust-lang/crates.io-index)", "lmdb-rkv 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", "moz_task 0.1.0", @@ -1558,7 +1582,7 @@ [[package]] name = "libc" -version = "0.2.60" +version = "0.2.59" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -1593,7 +1617,7 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.59 (registry+https://github.com/rust-lang/crates.io-index)", "libudev-sys 0.1.3", ] @@ -1602,7 +1626,7 @@ version = "0.1.3" dependencies = [ "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.59 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1611,7 +1635,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "cc 1.0.34 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.59 (registry+https://github.com/rust-lang/crates.io-index)", "pkg-config 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", "vcpkg 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1636,7 +1660,7 @@ dependencies = [ "bitflags 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.59 (registry+https://github.com/rust-lang/crates.io-index)", "lmdb-rkv-sys 0.9.5 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1647,7 +1671,7 @@ dependencies = [ "bindgen 0.51.1 (registry+https://github.com/rust-lang/crates.io-index)", "cc 1.0.34 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.59 (registry+https://github.com/rust-lang/crates.io-index)", "pkg-config 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1668,6 +1692,72 @@ ] [[package]] +name = "lucet-module" +version = "0.1.1" +source = "git+https://github.com/PLSysSec/lucet_sandbox_compiler#5c22392b5b1aaa60e915c75e92b57391e1e61e6d" +dependencies = [ + "bincode 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "cranelift-entity 0.41.0 (git+https://github.com/PLSysSec/lucet_sandbox_compiler)", + "failure 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", + "num-derive 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", + "object 0.14.0 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.88 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_json 1.0.26 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "lucet-runtime" +version = "0.1.1" +source = "git+https://github.com/PLSysSec/lucet_sandbox_compiler#5c22392b5b1aaa60e915c75e92b57391e1e61e6d" +dependencies = [ + "cc 1.0.34 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.59 (registry+https://github.com/rust-lang/crates.io-index)", + "lucet-module 0.1.1 (git+https://github.com/PLSysSec/lucet_sandbox_compiler)", + "lucet-runtime-internals 0.1.1 (git+https://github.com/PLSysSec/lucet_sandbox_compiler)", + "num-derive 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "lucet-runtime-internals" +version = "0.1.1" +source = "git+https://github.com/PLSysSec/lucet_sandbox_compiler#5c22392b5b1aaa60e915c75e92b57391e1e61e6d" +dependencies = [ + "bincode 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "bitflags 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "cc 1.0.34 (registry+https://github.com/rust-lang/crates.io-index)", + "failure 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", + "getrandom 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.59 (registry+https://github.com/rust-lang/crates.io-index)", + "libloading 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", + "lucet-module 0.1.1 (git+https://github.com/PLSysSec/lucet_sandbox_compiler)", + "memoffset 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", + "nix 0.13.1 (git+https://github.com/shravanrn/nix/?branch=r0.13.1)", + "num-derive 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", + "xfailure 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "lucet-wasi" +version = "0.1.1" +source = "git+https://github.com/PLSysSec/lucet_sandbox_compiler#5c22392b5b1aaa60e915c75e92b57391e1e61e6d" +dependencies = [ + "cast 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", + "failure 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.59 (registry+https://github.com/rust-lang/crates.io-index)", + "lucet-module 0.1.1 (git+https://github.com/PLSysSec/lucet_sandbox_compiler)", + "lucet-runtime 0.1.1 (git+https://github.com/PLSysSec/lucet_sandbox_compiler)", + "lucet-runtime-internals 0.1.1 (git+https://github.com/PLSysSec/lucet_sandbox_compiler)", + "nix 0.13.1 (git+https://github.com/shravanrn/nix/?branch=r0.13.1)", + "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] name = "lzw" version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -1677,7 +1767,7 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.59 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1741,7 +1831,7 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.59 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1771,6 +1861,15 @@ ] [[package]] +name = "miniz-sys" +version = "0.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "cc 1.0.34 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.59 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] name = "miniz_oxide" version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -1787,7 +1886,7 @@ "fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", "iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.59 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", "miow 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1823,7 +1922,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.59 (registry+https://github.com/rust-lang/crates.io-index)", "mio 0.6.19 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1856,7 +1955,7 @@ name = "moz_task" version = "0.1.0" dependencies = [ - "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.59 (registry+https://github.com/rust-lang/crates.io-index)", "nserror 0.1.0", "nsstring 0.1.0", "xpcom 0.1.0", @@ -1892,7 +1991,7 @@ version = "0.0.0" dependencies = [ "glob 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.59 (registry+https://github.com/rust-lang/crates.io-index)", "libz-sys 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)", "num_cpus 1.7.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1982,7 +2081,7 @@ [[package]] name = "neqo-common" version = "0.1.4" -source = "git+https://github.com/mozilla/neqo#a3230a21d75066a117bab10a38d9a831c3d707d5" +source = "git+https://github.com/mozilla/neqo#a17c1e83bb44ed923eb16a4c675ffe569b3a08f3" dependencies = [ "env_logger 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1993,7 +2092,7 @@ [[package]] name = "neqo-crypto" version = "0.1.4" -source = "git+https://github.com/mozilla/neqo#a3230a21d75066a117bab10a38d9a831c3d707d5" +source = "git+https://github.com/mozilla/neqo#a17c1e83bb44ed923eb16a4c675ffe569b3a08f3" dependencies = [ "bindgen 0.51.1 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2006,7 +2105,7 @@ [[package]] name = "neqo-http3" version = "0.1.4" -source = "git+https://github.com/mozilla/neqo#a3230a21d75066a117bab10a38d9a831c3d707d5" +source = "git+https://github.com/mozilla/neqo#a17c1e83bb44ed923eb16a4c675ffe569b3a08f3" dependencies = [ "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", "neqo-common 0.1.4 (git+https://github.com/mozilla/neqo)", @@ -2020,7 +2119,7 @@ [[package]] name = "neqo-qpack" version = "0.1.4" -source = "git+https://github.com/mozilla/neqo#a3230a21d75066a117bab10a38d9a831c3d707d5" +source = "git+https://github.com/mozilla/neqo#a17c1e83bb44ed923eb16a4c675ffe569b3a08f3" dependencies = [ "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", "neqo-common 0.1.4 (git+https://github.com/mozilla/neqo)", @@ -2031,7 +2130,7 @@ [[package]] name = "neqo-transport" version = "0.1.4" -source = "git+https://github.com/mozilla/neqo#a3230a21d75066a117bab10a38d9a831c3d707d5" +source = "git+https://github.com/mozilla/neqo#a17c1e83bb44ed923eb16a4c675ffe569b3a08f3" dependencies = [ "derive_more 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2063,7 +2162,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.59 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2084,6 +2183,18 @@ ] [[package]] +name = "nix" +version = "0.13.1" +source = "git+https://github.com/shravanrn/nix/?branch=r0.13.1#4af6c367603869a30fddb5ffb0aba2b9477ba92e" +dependencies = [ + "bitflags 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "cc 1.0.34 (registry+https://github.com/rust-lang/crates.io-index)", + "cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.59 (registry+https://github.com/rust-lang/crates.io-index)", + "void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] name = "nodrop" version = "0.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -2131,6 +2242,16 @@ [[package]] name = "num-derive" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)", + "quote 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 0.15.30 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "num-derive" version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ @@ -2175,7 +2296,7 @@ version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.59 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -2183,7 +2304,9 @@ version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ + "flate2 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)", "goblin 0.0.24 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-wasm 0.40.3 (registry+https://github.com/rust-lang/crates.io-index)", "scroll 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)", "target-lexicon 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", "uuid 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2238,6 +2361,11 @@ ] [[package]] +name = "parity-wasm" +version = "0.40.3" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] name = "parking_lot" version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -2254,7 +2382,7 @@ dependencies = [ "cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", "cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.59 (registry+https://github.com/rust-lang/crates.io-index)", "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)", "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "smallvec 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2437,7 +2565,7 @@ name = "pulse-ffi" version = "0.1.0" dependencies = [ - "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.59 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -2467,7 +2595,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.59 (registry+https://github.com/rust-lang/crates.io-index)", "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2479,7 +2607,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "autocfg 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.59 (registry+https://github.com/rust-lang/crates.io-index)", "rand_chacha 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "rand_hc 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2534,7 +2662,7 @@ version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.59 (registry+https://github.com/rust-lang/crates.io-index)", "rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2546,7 +2674,7 @@ dependencies = [ "cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)", "fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.59 (registry+https://github.com/rust-lang/crates.io-index)", "rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2662,7 +2790,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "arrayref 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", - "bincode 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "bincode 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "bitflags 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "failure 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2676,6 +2804,19 @@ ] [[package]] +name = "rlbox_lucet_sandbox" +version = "0.1.0" +source = "git+https://github.com/PLSysSec/rlbox_lucet_sandbox/?rev=997c648eb0eaeaaa7a00a9eee20431f750b4e190#997c648eb0eaeaaa7a00a9eee20431f750b4e190" +dependencies = [ + "failure 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", + "goblin 0.0.24 (registry+https://github.com/rust-lang/crates.io-index)", + "lucet-module 0.1.1 (git+https://github.com/PLSysSec/lucet_sandbox_compiler)", + "lucet-runtime 0.1.1 (git+https://github.com/PLSysSec/lucet_sandbox_compiler)", + "lucet-runtime-internals 0.1.1 (git+https://github.com/PLSysSec/lucet_sandbox_compiler)", + "lucet-wasi 0.1.1 (git+https://github.com/PLSysSec/lucet_sandbox_compiler)", +] + +[[package]] name = "ron" version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -2687,7 +2828,7 @@ name = "rsdparsa_capi" version = "0.1.0" dependencies = [ - "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.59 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", "nserror 0.1.0", "webrtc-sdp 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2988,7 +3129,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.59 (registry+https://github.com/rust-lang/crates.io-index)", "mach 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -3012,7 +3153,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.59 (registry+https://github.com/rust-lang/crates.io-index)", "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -3030,7 +3171,7 @@ name = "storage" version = "0.1.0" dependencies = [ - "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.59 (registry+https://github.com/rust-lang/crates.io-index)", "nserror 0.1.0", "nsstring 0.1.0", "storage_variant 0.1.0", @@ -3041,7 +3182,7 @@ name = "storage_variant" version = "0.1.0" dependencies = [ - "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.59 (registry+https://github.com/rust-lang/crates.io-index)", "nserror 0.1.0", "nsstring 0.1.0", "xpcom 0.1.0", @@ -3152,7 +3293,7 @@ "cstr 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", "env_logger 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", "geckoservo 0.0.1", - "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.59 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", "malloc_size_of 0.0.1", "num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3227,7 +3368,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.59 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)", "remove_dir_all 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3240,7 +3381,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.59 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -3257,7 +3398,7 @@ version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.59 (registry+https://github.com/rust-lang/crates.io-index)", "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)", "redox_termios 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -3281,7 +3422,7 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.59 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -3307,7 +3448,7 @@ version = "0.1.40" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.59 (registry+https://github.com/rust-lang/crates.io-index)", "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -3491,7 +3632,7 @@ "bytes 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)", "futures 0.1.23 (registry+https://github.com/rust-lang/crates.io-index)", "iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.59 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", "mio 0.6.19 (registry+https://github.com/rust-lang/crates.io-index)", "mio-uds 0.6.7 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3693,7 +3834,7 @@ version = "0.60.0" dependencies = [ "base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)", - "bincode 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "bincode 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "bitflags 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3708,7 +3849,7 @@ "gleam 0.6.17 (registry+https://github.com/rust-lang/crates.io-index)", "image 0.22.1 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.59 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", "malloc_size_of_derive 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3753,7 +3894,7 @@ version = "0.1.0" dependencies = [ "app_units 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", - "bincode 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "bincode 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "core-foundation 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)", "core-graphics 0.17.1 (registry+https://github.com/rust-lang/crates.io-index)", "dwrote 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3884,6 +4025,11 @@ ] [[package]] +name = "xfailure" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] name = "xml-rs" version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -3892,7 +4038,7 @@ name = "xpcom" version = "0.1.0" dependencies = [ - "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.59 (registry+https://github.com/rust-lang/crates.io-index)", "nserror 0.1.0", "nsstring 0.1.0", "thin-vec 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3927,7 +4073,7 @@ "cstr 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", "failure 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.59 (registry+https://github.com/rust-lang/crates.io-index)", "lmdb-rkv 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", "moz_task 0.1.0", @@ -3976,7 +4122,7 @@ "checksum backtrace-sys 0.1.24 (registry+https://github.com/rust-lang/crates.io-index)" = "c66d56ac8dabd07f6aacdaf633f4b8262f5b3601a810a0dcddffd5c22c69daa0" "checksum base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0b25d992356d2eb0ed82172f5248873db5560c4721f564b13cb5193bda5e668e" "checksum binary-space-partition 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "88ceb0d16c4fd0e42876e298d7d3ce3780dd9ebdcbe4199816a32c77e08597ff" -"checksum bincode 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bda13183df33055cbb84b847becce220d392df502ebe7a4a78d7021771ed94d0" +"checksum bincode 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b8ab639324e3ee8774d296864fbc0dbbb256cf1a41c490b94cba90c082915f92" "checksum bindgen 0.51.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ebd71393f1ec0509b553aa012b9b58e81dadbdff7130bd3b8cba576e69b32f75" "checksum binjs_meta 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6c9a0da2208ceb785c1626fa8b7d250d2e5546ae230294b4a998e4f818c1768e" "checksum bit-vec 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f59bbe95d4e52a6398ec21238d31577f2b28a9d86807f06ca59d191d8440d0bb" @@ -3990,6 +4136,7 @@ "checksum byte-tools 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "980479e6fde23246dfb54d47580d66b4e99202e7579c5eaa9fe10ecb5ebd2182" "checksum byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a019b10a2a7cdeb292db131fc8113e57ea2a908f6e7894b0c3c671893b65dbeb" "checksum bytes 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)" = "e178b8e0e239e844b083d5a0d4a156b2654e67f9f80144d48398fcd736a24fb8" +"checksum cast 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "926013f2860c46252efceabb19f4a6b308197505082c609025aa6706c011d427" "checksum cc 1.0.34 (registry+https://github.com/rust-lang/crates.io-index)" = "30f813bf45048a18eda9190fd3c6b78644146056740c43172a5a3699118588fd" "checksum cexpr 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "8fc0086be9ca82f7fc89fc873435531cb898b86e850005850de1f820e2db6e9b" "checksum cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "082bb9b28e00d3c9d39cc03e64ce4cea0f1bb9b3fde493f0cbc008472d22bdf4" @@ -4012,6 +4159,7 @@ "checksum cranelift-codegen 0.46.1 (git+https://github.com/CraneStation/Cranelift?rev=da179e4fd83d49b7ad6c9f286b1ea04d4f64907e)" = "" "checksum cranelift-codegen-meta 0.46.1 (git+https://github.com/CraneStation/Cranelift?rev=da179e4fd83d49b7ad6c9f286b1ea04d4f64907e)" = "" "checksum cranelift-codegen-shared 0.46.1 (git+https://github.com/CraneStation/Cranelift?rev=da179e4fd83d49b7ad6c9f286b1ea04d4f64907e)" = "" +"checksum cranelift-entity 0.41.0 (git+https://github.com/PLSysSec/lucet_sandbox_compiler)" = "" "checksum cranelift-entity 0.46.1 (git+https://github.com/CraneStation/Cranelift?rev=da179e4fd83d49b7ad6c9f286b1ea04d4f64907e)" = "" "checksum cranelift-frontend 0.46.1 (git+https://github.com/CraneStation/Cranelift?rev=da179e4fd83d49b7ad6c9f286b1ea04d4f64907e)" = "" "checksum cranelift-wasm 0.46.1 (git+https://github.com/CraneStation/Cranelift?rev=da179e4fd83d49b7ad6c9f286b1ea04d4f64907e)" = "" @@ -4064,6 +4212,7 @@ "checksum futures-cpupool 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "ab90cde24b3319636588d0c35fe03b1333857621051837ed769faefb4c2162e4" "checksum fxhash 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c" "checksum generic-array 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3c0f28c2f5bfb5960175af447a2da7c18900693738343dc896ffbcabd9839592" +"checksum getrandom 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "8d1dffef07351aafe6ef177e4dd2b8dcf503e6bc765dea3b0de9ed149a3db1ec" "checksum gl_generator 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "39a23d5e872a275135d66895d954269cf5e8661d234eb1c2480f4ce0d586acbd" "checksum gleam 0.6.17 (registry+https://github.com/rust-lang/crates.io-index)" = "7f46fd8874e043ffac0d638ed1567a2584f7814f6d72b4db37ab1689004a26c4" "checksum glob 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574" @@ -4089,7 +4238,7 @@ "checksum khronos_api 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e2db585e1d738fc771bf08a151420d3ed193d9d895a36df7f6f8a9456b911ddc" "checksum lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" "checksum lazycell 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b294d6fa9ee409a054354afc4352b0b9ef7ca222c69b8812cbea9e7d2bf3783f" -"checksum libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)" = "d44e80633f007889c7eff624b709ab43c92d708caad982295768a7b13ca3b5eb" +"checksum libc 0.2.59 (registry+https://github.com/rust-lang/crates.io-index)" = "3262021842bf00fe07dbd6cf34ff25c99d7a7ebef8deea84db72be3ea3bb0aff" "checksum libdbus-sys 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "18cb88963258d00f4962205dbb5933d82780d9962c8c8a064b651d2ad7189210" "checksum libloading 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "fd38073de8f7965d0c17d30546d4bb6da311ab428d1c7a3fc71dff7f9d4979b9" "checksum libloading 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9c3ad660d7cb8c5822cd83d10897b0f1f1526792737a179e73896152f85b88c2" @@ -4101,6 +4250,10 @@ "checksum lmdb-rkv-sys 0.9.5 (registry+https://github.com/rust-lang/crates.io-index)" = "a1e4b19a1fdf5b74bc802cc9aa7c0c86a775e8b872ba9d5a4e606ffc5d076953" "checksum lock_api 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f8912e782533a93a167888781b836336a6ca5da6175c05944c86cf28c31104dc" "checksum log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c84ec4b527950aa83a329754b01dbe3f58361d1c5efacd1f6d68c494d08a17c6" +"checksum lucet-module 0.1.1 (git+https://github.com/PLSysSec/lucet_sandbox_compiler)" = "" +"checksum lucet-runtime 0.1.1 (git+https://github.com/PLSysSec/lucet_sandbox_compiler)" = "" +"checksum lucet-runtime-internals 0.1.1 (git+https://github.com/PLSysSec/lucet_sandbox_compiler)" = "" +"checksum lucet-wasi 0.1.1 (git+https://github.com/PLSysSec/lucet_sandbox_compiler)" = "" "checksum lzw 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7d947cbb889ed21c2a84be6ffbaebf5b4e0f4340638cba0444907e38b56be084" "checksum mach 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "b823e83b2affd8f40a9ee8c29dbc56404c1e34cd2710921f2801e2cf29527afa" "checksum malloc_size_of_derive 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "35adee9ed962cf7d07d62cb58bc45029f3227f5b5b86246caa8632f06c187bc3" @@ -4110,6 +4263,7 @@ "checksum memoffset 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ce6075db033bbbb7ee5a0bbd3a3186bbae616f57fb001c485c7ff77955f8177f" "checksum mime 0.3.13 (registry+https://github.com/rust-lang/crates.io-index)" = "3e27ca21f40a310bd06d9031785f4801710d566c184a6e15bad4f1d9b65f9425" "checksum mime_guess 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1a0ed03949aef72dbdf3116a383d7b38b4768e6f960528cd6a6044aa9ed68599" +"checksum miniz-sys 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)" = "1e9e3ae51cea1576ceba0dde3d484d30e6e5b86dee0b2d412fe3a16a15c98202" "checksum miniz_oxide 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7108aff85b876d06f22503dcce091e29f76733b2bfdd91eebce81f5e68203a10" "checksum mio 0.6.19 (registry+https://github.com/rust-lang/crates.io-index)" = "83f51996a3ed004ef184e16818edc51fadffe8e7ca68be67f9dee67d84d0ff23" "checksum mio-extras 2.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "46e73a04c2fa6250b8d802134d56d554a9ec2922bf977777c805ea5def61ce40" @@ -4128,9 +4282,11 @@ "checksum neqo-transport 0.1.4 (git+https://github.com/mozilla/neqo)" = "" "checksum net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)" = "42550d9fb7b6684a6d404d9fa7250c2eb2646df731d1c06afc06dcee9e1bcf88" "checksum new_debug_unreachable 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0cdc457076c78ab54d5e0d6fa7c47981757f1e34dc39ff92787f217dede586c4" +"checksum nix 0.13.1 (git+https://github.com/shravanrn/nix/?branch=r0.13.1)" = "" "checksum nodrop 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)" = "9a2228dca57108069a5262f2ed8bd2e82496d2e074a06d1ccc7ce1687b6ae0a2" "checksum nom 4.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "9c349f68f25f596b9f44cf0e7c69752a5c633b0550c3ff849518bfba0233774a" "checksum num-bigint 0.1.44 (registry+https://github.com/rust-lang/crates.io-index)" = "e63899ad0da84ce718c14936262a41cee2c79c981fc0a0e7c7beb47d5a07e8c1" +"checksum num-derive 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)" = "eafd0b45c5537c3ba526f79d3e75120036502bebacbb3f3220914067ce39dbf2" "checksum num-derive 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "0c8b15b261814f992e33760b1fca9fe8b693d8a65299f20c9901688636cfb746" "checksum num-integer 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)" = "e83d528d2677f0518c570baf2b7abdcf0cd2d248860b68507bdcb3e91d4c0cea" "checksum num-iter 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)" = "af3fdbbc3291a5464dc57b03860ec37ca6bf915ed6ee385e7c6c052c422b2124" @@ -4143,6 +4299,7 @@ "checksum ordered-float 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2f0015e9e8e28ee20c581cfbfe47c650cedeb9ed0721090e0b7ebb10b9cdbcc2" "checksum owning_ref 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "49a4b8ea2179e6a2e27411d3bca09ca6dd630821cf6894c6c7c8467a8ee7ef13" "checksum packed_simd 0.3.3 (git+https://github.com/hsivonen/packed_simd?branch=rust_1_32)" = "" +"checksum parity-wasm 0.40.3 (registry+https://github.com/rust-lang/crates.io-index)" = "1e39faaa292a687ea15120b1ac31899b13586446521df6c149e46f1584671e0f" "checksum parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f842b1982eb6c2fe34036a4fbfb06dd185a3f5c8edfaacdf7d1ea10b07de6252" "checksum parking_lot_core 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "b876b1b9e7ac6e1a74a6da34d25c42e17e8862aa409cbbbdcfc8d86c6f3bc62b" "checksum peeking_take_while 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099" @@ -4187,6 +4344,7 @@ "checksum remove_dir_all 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "4a83fa3702a688b9359eccba92d153ac33fd2e8462f9e0e3fdf155239ea7792e" "checksum ringbuf 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "588456c74d5ff0a5806bc084818e043e767533f743c11ee6f3ccf298599c6847" "checksum rkv 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9aab7c645d32e977e186448b0a5c2c3139a91a7f630cfd8a8c314d1d145e78bf" +"checksum rlbox_lucet_sandbox 0.1.0 (git+https://github.com/PLSysSec/rlbox_lucet_sandbox/?rev=997c648eb0eaeaaa7a00a9eee20431f750b4e190)" = "" "checksum ron 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "da06feaa07f69125ab9ddc769b11de29090122170b402547f64b86fe16ebc399" "checksum runloop 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5d79b4b604167921892e84afbbaad9d5ad74e091bf6c511d9dbfb0593f09fabd" "checksum rust-argon2 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4ca4eaef519b494d1f2848fc602d18816fed808a981aedf4f1f00ceb7c9d32cf" @@ -4294,6 +4452,7 @@ "checksum winreg 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a27a759395c1195c4cc5cda607ef6f8f6498f64e78f7900f5de0a127a424704a" "checksum ws 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8a6f5bb86663ff4d1639408410f50bf6050367a8525d644d49a6894cd618a631" "checksum ws2_32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e" +"checksum xfailure 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "da90eac47bf1d7871b75004b9b631d107df15f37669383b23f0b5297bc7516b6" "checksum xml-rs 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "541b12c998c5b56aa2b4e6f18f03664eef9a4fd0a246a55594efae6cc2d964b5" "checksum yaml-rust 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "95acf0db5515d07da9965ec0e0ba6cc2d825e2caeb7303b66ca441729801254e" "checksum zip 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "36b9e08fb518a65cf7e08a1e482573eb87a2f4f8c6619316612a3c1f162fe822" diff -Nru firefox-trunk-72.0~a1~hg20191110r501419/Cargo.toml firefox-trunk-72.0~a1~hg20191112r501544/Cargo.toml --- firefox-trunk-72.0~a1~hg20191110r501419/Cargo.toml 2019-11-10 17:02:26.000000000 +0000 +++ firefox-trunk-72.0~a1~hg20191112r501544/Cargo.toml 2019-11-12 17:17:05.000000000 +0000 @@ -61,6 +61,8 @@ [patch.crates-io] libudev-sys = { path = "dom/webauthn/libudev-sys" } packed_simd = { git = "https://github.com/hsivonen/packed_simd", branch = "rust_1_32" } +rlbox_lucet_sandbox = { git = "https://github.com/PLSysSec/rlbox_lucet_sandbox/", rev="997c648eb0eaeaaa7a00a9eee20431f750b4e190" } +nix = { git = "https://github.com/shravanrn/nix/", branch = "r0.13.1", rev="4af6c367603869a30fddb5ffb0aba2b9477ba92e" } [patch.crates-io.cranelift-codegen] git = "https://github.com/CraneStation/Cranelift" diff -Nru firefox-trunk-72.0~a1~hg20191110r501419/debian/build/rules.mk firefox-trunk-72.0~a1~hg20191112r501544/debian/build/rules.mk --- firefox-trunk-72.0~a1~hg20191110r501419/debian/build/rules.mk 2019-10-26 08:08:20.000000000 +0000 +++ firefox-trunk-72.0~a1~hg20191112r501544/debian/build/rules.mk 2019-11-12 17:13:35.000000000 +0000 @@ -106,7 +106,7 @@ MOZ_BUILD_PGO = 0 endif -LLVM_VERSIONS = 9 8 6.0 +LLVM_VERSIONS = 9 8 DEB_LLVM_VERSION = $(firstword $(foreach llvm_version, $(LLVM_VERSIONS), \ $(if $(shell which clang-$(llvm_version)), $(llvm_version)))) diff -Nru firefox-trunk-72.0~a1~hg20191110r501419/debian/changelog firefox-trunk-72.0~a1~hg20191112r501544/debian/changelog --- firefox-trunk-72.0~a1~hg20191110r501419/debian/changelog 2019-11-10 17:14:14.000000000 +0000 +++ firefox-trunk-72.0~a1~hg20191112r501544/debian/changelog 2019-11-12 17:28:26.000000000 +0000 @@ -1,4 +1,4 @@ -firefox-trunk (72.0~a1~hg20191110r501419-0ubuntu0.19.04.1~umd1) disco; urgency=emergency +firefox-trunk (72.0~a1~hg20191112r501544-0ubuntu0.19.04.1~umd1) disco; urgency=emergency [ Rico Tzschichholz ] * Add explicit build-dep on libclang-*-dev @@ -15,7 +15,7 @@ [ Rico Tzschichholz ] * New upstream snapshot - -- Rico Tzschichholz Sun, 10 Nov 2019 18:14:14 +0100 + -- Rico Tzschichholz Tue, 12 Nov 2019 18:28:26 +0100 firefox-trunk (71.0~a1~hg20191019r498279-0ubuntu1) eoan; urgency=medium diff -Nru firefox-trunk-72.0~a1~hg20191110r501419/debian/control firefox-trunk-72.0~a1~hg20191112r501544/debian/control --- firefox-trunk-72.0~a1~hg20191110r501419/debian/control 2019-11-10 17:14:14.000000000 +0000 +++ firefox-trunk-72.0~a1~hg20191112r501544/debian/control 2019-11-12 17:28:26.000000000 +0000 @@ -37,9 +37,9 @@ xvfb, python (>= 2.7), libffi-dev (>= 3.0.9) [powerpc ppc64el s390x], - clang-9 | clang-8 | clang-6.0, - libclang-9-dev | libclang-8-dev | libclang-6.0-dev, - llvm-9-dev | llvm-8-dev | llvm-6.0-dev, + clang-9 | clang-8, + libclang-9-dev | libclang-8-dev, + llvm-9-dev | llvm-8-dev, cargo (>= 0.38), rustc (>= 1.37.0), nodejs (>= 8.11) | nodejs-mozilla (>= 8.11) diff -Nru firefox-trunk-72.0~a1~hg20191110r501419/debian/control.in firefox-trunk-72.0~a1~hg20191112r501544/debian/control.in --- firefox-trunk-72.0~a1~hg20191110r501419/debian/control.in 2019-11-10 17:14:14.000000000 +0000 +++ firefox-trunk-72.0~a1~hg20191112r501544/debian/control.in 2019-11-12 17:28:26.000000000 +0000 @@ -37,9 +37,9 @@ xvfb, python (>= 2.7), libffi-dev (>= 3.0.9) [powerpc ppc64el s390x], - clang-9 | clang-8 | clang-6.0, - libclang-9-dev | libclang-8-dev | libclang-6.0-dev, - llvm-9-dev | llvm-8-dev | llvm-6.0-dev, + clang-9 | clang-8, + libclang-9-dev | libclang-8-dev, + llvm-9-dev | llvm-8-dev, cargo (>= 0.38), rustc (>= 1.37.0), nodejs (>= 8.11) | nodejs-mozilla (>= 8.11) diff -Nru firefox-trunk-72.0~a1~hg20191110r501419/devtools/client/aboutdebugging/test/browser/browser_aboutdebugging_serviceworker_not_compatible.js firefox-trunk-72.0~a1~hg20191112r501544/devtools/client/aboutdebugging/test/browser/browser_aboutdebugging_serviceworker_not_compatible.js --- firefox-trunk-72.0~a1~hg20191110r501419/devtools/client/aboutdebugging/test/browser/browser_aboutdebugging_serviceworker_not_compatible.js 2019-11-10 17:02:27.000000000 +0000 +++ firefox-trunk-72.0~a1~hg20191112r501544/devtools/client/aboutdebugging/test/browser/browser_aboutdebugging_serviceworker_not_compatible.js 2019-11-12 17:17:06.000000000 +0000 @@ -3,8 +3,9 @@ "use strict"; -// Test migrated from -// devtools/client/aboutdebugging/test/browser_service_workers_not_compatible.js +// This test started running during a GC and timing out on coverage platforms. +// See Bug 1526153. +requestLongerTimeout(2); const TEST_DATA = [ { diff -Nru firefox-trunk-72.0~a1~hg20191110r501419/devtools/client/application/README.md firefox-trunk-72.0~a1~hg20191112r501544/devtools/client/application/README.md --- firefox-trunk-72.0~a1~hg20191110r501419/devtools/client/application/README.md 1970-01-01 00:00:00.000000000 +0000 +++ firefox-trunk-72.0~a1~hg20191112r501544/devtools/client/application/README.md 2019-11-12 17:17:06.000000000 +0000 @@ -0,0 +1,338 @@ +# Application + +## About the Application panel + +The Application panel is a Firefox Developer Tools panel meant to allow the inspection and debugging of features usually present in Progressive Web Apps, such as service workers or the Web App Manifest. + +### How to enable the Application panel + +At the moment, the panel is hidden behind a configuration flag. In order to enable it, type `about:config` in the address bar, look for the `devtools.application.enabled` flag and set it to true. It will then appear as a tab with the rest of the panels within the Developer Tools toolbox. + +## Technical overview + +The Application panel is a React + Redux web app. + +### Source directory structure + +The application panel lives in the `devtools/client/application` directory. Inside this root directory, the most relevant subdirectories and files are: + +``` +. +├── application.css -> root CSS stylesheet +├── initializer.js -> panel initialization +├── src +│ ├── actions -> Redux actions +│ ├── components -> React components +│ ├── modules -> Business logic and helpers +│ └── reducers -> Redux reducers and states +└── test + ├── browser -> mochitests (e2e/integration) + ├── node -> Jest unit tests + └── unit -> xpcshell unit tests +``` + +### Panel registration + +The panel is defined in `devtools/client/application/panel.js` – which in turn calls the `.bootstrap()` method defined in `devtools/client/application/initializer.js`. + +The panel is registered along the rest of the Developer Tools panels, in `devtools/client/definitions.js`. + +### Localization + +The panel uses the [fluent-react](https://github.com/projectfluent/fluent.js/wiki/React-Bindings) library. The localization file is located at `devtools/client/locales/en-US/application.ftl` and it follows [Fluent syntax](https://projectfluent.org/fluent/guide/). + +You should read the [Fluent for Firefox developers](https://firefox-source-docs.mozilla.org/intl/l10n/l10n/fluent_tutorial.html) and [Guidelines for Fluent Reviewers](https://firefox-source-docs.mozilla.org/intl/l10n/l10n/fluent_review.html) guides. + +#### Adding a new string + +If you need to localize a text, add a new message ID to the localization file (`devtoos/client/en-US/application.ftl`). Then you can use this ID as a prop for Fluent's `` component or `getString()` function. + +When using ID's from the React code, always write the full ID instead of building it with concatenation, interpolation, etc. (this makes localing ID's easier afterwards). For instance, let's say you have two ID's, `error-message` and `warning-message`, and you need to use one or the other depending on a condition. + +✅ **Do:** + +```js +const localizationIds = { + error: "error-message", + warning: "warning-message", +}; + +const id = localizationIds[messageLevel]; +``` + +❌ **Don't:** + +```js +const id = `${messageLevel}-message`; +``` + +#### Updating an existing string + +If you need to modify an existing string, you need to create a new ID and don't remove the previous one. For instance, if we had this string: + +``` +some-localized-string = This will be modified later +``` + +And we need to update the content, we would create a new ID and remove the previous one intact: + +```diff +- some-localized-string = This will be modified later ++ some-localized-string2 = This is the updated string +``` + +Within the React component code, you would use the newly created ID. + +```js +const localizedText = l10n.getString("some-localized-string2"); +``` + +### React components + +Components are located in the `devtools/client/application/src/components` directory. + +Each component has a single `.js` file, plus an optional `.css` file, so each component is responsible of handling their own styles. + +- The `App` component is the root component of the Application panel. +- In `components/service-workers` are the components that render all of the UI related to inspect and debug service workers. +- In `components/manifest` are the components that render everything related to inspecting a Web App Manifest. +- In the `components/routing` directory there are components related to switching from one section of the panel to the other, like a sidebar or a page switcher container. +- Inside the `components/ui` directory there are generic UI components that can be reused from other parts of the panel. + +### Redux + +The Application panel uses Redux to handle app state and communication between components. + +#### Substates + +The Redux state is set up in `devtools/client/application/src/create-store.js`. The state contains the following substates: + +- `workers`: contains data related to inspecting and debugging service workers. +- `manifest`: contains state related to inspecting the Web App Manifest. +- `page`: contains general data related to the web page that is being inspected. +- `ui`: contains data related to the UI that don't really fit any other state. + +#### Actions + +Synchronous actions are regular Redux actions. Their type is defined in the general constants file (`devtools/client/application/src/constants.js`). + +**Asynchronous** actions are achieved thanks to the **thunk middleware**. They follow a three-action pattern `*_START`, `*_SUCCESS`, `*_FAILURE`. For instance: + +```js +function fooAction() { + return async (dispatch, getState) => { + dispatch({ type: FOO_START }); + + try { + const result = await foo(); + dispatch({ type: FOO_SUCCESS }); + } + catch (err) { + console.error(err); + dispatch({ type: FOO_FAILURE }); + } + } +} +``` + +#### Middleware + +We are using the following middlewares with Redux: + +- [redux-thunk](https://github.com/reduxjs/redux-thunk): This is a shared middleware used by other DevTools modules that allows to dispatch asynchronous actions. + +### Constants + +We are sharing some constants / enum-like constants across the source. They are located in `devtools/client/application/src/constants.js`. For values that are not shared, they should stay within their relevant scope/file. + +## Tests + +You should read DevTools' general [guidelines for automated tests](https://docs.firefox-dev.tools/tests/). + +### Mochitests (e2e / integration) + +End to end and integration tests are made with **Mochitests**. These tests open a browser and will load an HTML and open the toolbox with the Application panel. + +These tests are located in `devtools/client/application/test/browser`. + +Besides the usual DevTools test helpers, the Application panel adds some other helper functions in `devtools/client/application/test/browser/head.js` + +### Unit tests with xpcshell + +We are using xpcshell unit tests for the **Redux reducers** in `devtools/client/application/test/unit`. + +Other unit tests that don't need Enzyme or other npm modules should be added here too. + +### Unit tests with Jest + +We are using Jest with Enzyme to test **React components** and **Redux actions** in `devtools/client/application/test/node`. Some considerations: + +- There are some **stubs/mocks** for some libraries and modules. These are placed in `devtools/client/application/test/node/fixtures`. +- The **localization system is mocked**. For `` components, the Enzyme snapshots will reflect the localization ID. Ex: ``. The actual localized string will not be rendered with `.shallow()`. Calls to `getstring()` will return the string ID that we pass as an argument. +- The **redux store is mocked** as well. To create a fake store to test a component that uses `connect()` to fetch data from the store, use the helper `setupStore()` included in `devtools/client/application/test/node/helpers.js`. + +#### Snapshots + +Most Jest tests will involve a snapshot matching expectation. + +**Snapshots should be produced with [`shallow()`](https://airbnb.io/enzyme/docs/api/shallow.html)** and _not_ `mount()`, to ensure that we are only testing the current component. + +**Components that are wrapped** with `connect()` or other wrapper components, need their snapshot to be rendered with [`dive()`](https://airbnb.io/enzyme/docs/api/ShallowWrapper/dive.html) (one call to `dive()` per wrapper component). + +## CSS + +We are using a BEM-like style for the following reasons: + +- To avoid collision between the styles of components. +- To have a consistent methodology on how to use CSS. +- To ensure we have rules with low specificity and thus styles are easier to override and maintain. + +### Stylesheet organization + +#### File structure + +**Each component has its own CSS stylesheet**, in the same directory and with the same name as the JavaScript file, only with a `.css` extension. So `Foo.js` would have a `Foo.css` stylesheet. + +These stylesheets are imported from `devtools/client/application/application.css` in alphabetical order –BEM-like naming and low specificity, when done right, should ensure that styles work regardless of the order the stylesheets are included. + +#### Base styles + +Another important stylesheet is `devtools/client/application/base.css`, which is the one that is imported first from `application.css`, regardless the alphabetical order. In this stylesheet we do: + +- Variables definitions +- Utility classes +- Some styles that are applied to the whole panel, like some resets or default values. + +#### External stylesheets imported in the panel + +Besides the usual user-agent styles, all DevTools panels automatically import the stylesheets located at `devtools/client/themes/`. The most relevant for the Application panel are: + +- `devtools/client/themes/variables.css`: variables are defined here +- `devtools/client/themes/common.css`: rules that are applied to every panel + +In the Application panel, we are not using some of the classes and rules defined in `common.css`, since they don't follow the BEM convention and some of them have high specificity. However, there are rules defined at the element level and this will get applied to the markup we use. + +From `variables.css`, at the moment we mainly use color names. See the section below for details. Other variables available there that contain values for common elements (like heights, widths, etc.) should also be used when we implement those components. + +### Colors and themes + +All DevTools panels should support both **light and dark themes**. The active theme can be changed by the user at DevTools Settings. + +The way this is handled is that a `.theme-light` or `.theme-dark` class is automatically added to the root `` element of each panel. Then, in `variables.css`, there are some CSS variables with different values depending on which of those classes the root element has. + +- We should use the colors defined in `variables.css`. +- If the other panels are using a particular color for an element we also have, we should re-use the same color. +- If needed, we can create a CSS variable in `base.css` that takes the value of another color variable defined in `variables.css` +- If the desired color is not available in `variables.css`, we can create a new one, but we have to define values for both light and dark themes. + +#### Writing CSS selectors + +As mentioned earlier, we are using a system to create rules similar to [BEM](http://getbem.com/naming/), although not strictly identical. + +#### Low specificity rules + +Rules should have **the lowest specifity** that is possible. In practice, this means that we should try to use a **single class selector** for writing the rule. Ex: + +```css +.manifest-item { + /* ... */ +} +``` + +Note that **pseudoclasses are pseudoselectors are OK** to use. + +#### Hierarchy + +When an element is semantically the child of another element, we should also use a single class selector. In BEM, this is achieved by separating potential class names with a double underscore `__`, so we have a single classname. + +✅ **Do:** + +```css +.manifest-item { /* ... */ } +.manifest-item__value { /* ... */ } +``` + +❌ **Don't:** + +```css +.manifest-item { /* ... */ } +.manifest-item .value { /* ... */ } +``` + +We should not go deeper than one level of `__`. We don't have to replicate the whole DOM structure: + +- If the style rule should be independent of the parent, it does not need to use an `__`. +- If the style rule does not make sense on its own, and it will be scoped to a particular section of the DOM tree, don't replicate the whole DOM structure and use the top-level ancestor class name instead. + +For instance, if we have the following HTML markup and we have to choose a class name for the `
` element: + +```html +
  • +
    +
    + +``` + +✅ **Do:** + +```css +.worker__meta-name { /* ... */ } +``` + +❌ **Don't:** + +```css +.worker__data__meta-name { /* ... */ } +``` + +#### Style variations + +Sometimes we have a component that should change its style depending on its state, or we have some rules that allow us to customize further how something looks. For instance, we could have a generic rule for buttons, and then some extra rules for primary buttons, or for tiny ones. + +In BEM, style variants are created with a double hypen `--`. For example: + +```css +.ui-button { /* styles for buttons */ } +.ui-button--micro { /* specific styles for tiny buttons */ } +``` + +Then, in the component, _both_ classes are to be used. + +```html + + + + + +

    +

    + +
    +
    + + + diff -Nru firefox-trunk-72.0~a1~hg20191110r501419/toolkit/content/tests/chrome/test_closemenu_attribute.xul firefox-trunk-72.0~a1~hg20191112r501544/toolkit/content/tests/chrome/test_closemenu_attribute.xul --- firefox-trunk-72.0~a1~hg20191110r501419/toolkit/content/tests/chrome/test_closemenu_attribute.xul 2019-11-10 17:02:53.000000000 +0000 +++ firefox-trunk-72.0~a1~hg20191112r501544/toolkit/content/tests/chrome/test_closemenu_attribute.xul 1970-01-01 00:00:00.000000000 +0000 @@ -1,96 +0,0 @@ - - - - - - - - - - - - - - -

    -

    - -
    -
    - - -
    diff -Nru firefox-trunk-72.0~a1~hg20191110r501419/toolkit/content/tests/chrome/test_contextmenu_list.xhtml firefox-trunk-72.0~a1~hg20191112r501544/toolkit/content/tests/chrome/test_contextmenu_list.xhtml --- firefox-trunk-72.0~a1~hg20191110r501419/toolkit/content/tests/chrome/test_contextmenu_list.xhtml 1970-01-01 00:00:00.000000000 +0000 +++ firefox-trunk-72.0~a1~hg20191112r501544/toolkit/content/tests/chrome/test_contextmenu_list.xhtml 2019-11-12 17:17:30.000000000 +0000 @@ -0,0 +1,288 @@ + + + + + + + + + + + + + + +