diff --git a/browser/base/content/test/webextensions/head.js b/browser/base/content/test/webextensions/head.js index 28d4ce4bfa9b..99f2002bd3e1 100644 --- a/browser/base/content/test/webextensions/head.js +++ b/browser/base/content/test/webextensions/head.js @@ -474,7 +474,7 @@ async function interactiveUpdateTest(autoUpdate, checkFn) { await checkPromise; BrowserTestUtils.removeTab(gBrowser.selectedTab); - addon.uninstall(); + await addon.uninstall(); await SpecialPowers.popPrefEnv(); } @@ -501,7 +501,7 @@ add_task(async function() { for (let addon of await AddonManager.getAllAddons()) { if (!existingAddons.has(addon.id)) { ok(false, `Addon ${addon.id} was left installed at the end of the test`); - addon.uninstall(); + await addon.uninstall(); } } }); diff --git a/layout/base/nsIPresShell.h b/layout/base/nsIPresShell.h index 04de0fdb01bc..32a926c5c3f8 100644 --- a/layout/base/nsIPresShell.h +++ b/layout/base/nsIPresShell.h @@ -1617,15 +1617,15 @@ protected: bool DetermineFontSizeInflationState(); void RecordAlloc(void* aPtr) { -#ifdef DEBUG - MOZ_ASSERT(!mAllocatedPointers.Contains(aPtr)); +#ifdef MOZ_DIAGNOSTIC_ASSERT_ENABLED + MOZ_DIAGNOSTIC_ASSERT(!mAllocatedPointers.Contains(aPtr)); mAllocatedPointers.PutEntry(aPtr); #endif } void RecordFree(void* aPtr) { -#ifdef DEBUG - MOZ_ASSERT(mAllocatedPointers.Contains(aPtr)); +#ifdef MOZ_DIAGNOSTIC_ASSERT_ENABLED + MOZ_DIAGNOSTIC_ASSERT(mAllocatedPointers.Contains(aPtr)); mAllocatedPointers.RemoveEntry(aPtr); #endif } @@ -1717,7 +1717,9 @@ protected: #ifdef DEBUG nsIFrame* mDrawEventTargetFrame; +#endif +#ifdef MOZ_DIAGNOSTIC_ASSERT_ENABLED // We track allocated pointers in a debug-only hashtable to assert against // missing/double frees. nsTHashtable> mAllocatedPointers; diff --git a/layout/generic/nsFrame.cpp b/layout/generic/nsFrame.cpp index a4f3ea8e678e..aa4c9503824d 100644 --- a/layout/generic/nsFrame.cpp +++ b/layout/generic/nsFrame.cpp @@ -612,6 +612,7 @@ nsFrame::Init(nsIContent* aContent, mContent = aContent; mParent = aParent; + MOZ_DIAGNOSTIC_ASSERT(!mParent || PresShell() == mParent->PresShell()); if (aPrevInFlow) { mWritingMode = aPrevInFlow->GetWritingMode(); @@ -10914,6 +10915,7 @@ nsIFrame::SetParent(nsContainerFrame* aParent) // Note that the current mParent may already be destroyed at this point. mParent = aParent; + MOZ_DIAGNOSTIC_ASSERT(!mParent || PresShell() == mParent->PresShell()); if (::IsXULBoxWrapped(this)) { ::InitBoxMetrics(this, true); } else { diff --git a/layout/generic/nsIFrame.h b/layout/generic/nsIFrame.h index 4124e792b8a5..c1665c7b30e9 100644 --- a/layout/generic/nsIFrame.h +++ b/layout/generic/nsIFrame.h @@ -780,6 +780,7 @@ public: void SetComputedStyle(ComputedStyle* aStyle) { if (aStyle != mComputedStyle) { + MOZ_DIAGNOSTIC_ASSERT(PresShell() == aStyle->PresContextForFrame()->PresShell()); RefPtr oldComputedStyle = mComputedStyle.forget(); mComputedStyle = aStyle; DidSetComputedStyle(oldComputedStyle); @@ -795,6 +796,7 @@ public: void SetComputedStyleWithoutNotification(ComputedStyle* aStyle) { if (aStyle != mComputedStyle) { + MOZ_DIAGNOSTIC_ASSERT(PresShell() == aStyle->PresContextForFrame()->PresShell()); mComputedStyle = aStyle; } } diff --git a/mobile/android/app/mobile.js b/mobile/android/app/mobile.js index b3d97dfd5759..bdcaffa9da7d 100644 --- a/mobile/android/app/mobile.js +++ b/mobile/android/app/mobile.js @@ -106,10 +106,6 @@ pref("network.http.max-persistent-connections-per-proxy", 20); pref("network.http.spdy.push-allowance", 32768); pref("network.http.spdy.default-hpack-buffer", 4096); // 4k -// Racing the cache with the network should be disabled to prevent accidental -// data usage. -pref("network.http.rcwn.enabled", false); - // See bug 545869 for details on why these are set the way they are pref("network.buffer.cache.count", 24); pref("network.buffer.cache.size", 16384); diff --git a/modules/libpref/init/all.js b/modules/libpref/init/all.js index 45a92bfd64d0..016c9195e38d 100644 --- a/modules/libpref/init/all.js +++ b/modules/libpref/init/all.js @@ -1322,10 +1322,11 @@ pref("dom.event.clipboardevents.enabled", true); pref("dom.event.highrestimestamp.enabled", true); pref("dom.event.coalesce_mouse_move", true); -pref("dom.webcomponents.shadowdom.enabled", false); #ifdef NIGHTLY_BUILD +pref("dom.webcomponents.shadowdom.enabled", true); pref("dom.webcomponents.customelements.enabled", true); #else +pref("dom.webcomponents.shadowdom.enabled", false); pref("dom.webcomponents.customelements.enabled", false); #endif diff --git a/netwerk/protocol/http/nsHttpChannel.cpp b/netwerk/protocol/http/nsHttpChannel.cpp index d2aae0684887..5a415b3f2a7d 100644 --- a/netwerk/protocol/http/nsHttpChannel.cpp +++ b/netwerk/protocol/http/nsHttpChannel.cpp @@ -112,6 +112,7 @@ #include "nsIMIMEInputStream.h" #include "nsIMultiplexInputStream.h" #include "../../cache2/CacheFileUtils.h" +#include "nsINetworkLinkService.h" #ifdef MOZ_TASK_TRACER #include "GeckoTaskTracer.h" @@ -9122,6 +9123,23 @@ nsHttpChannel::TriggerNetwork() nsresult nsHttpChannel::MaybeRaceCacheWithNetwork() { + nsresult rv; + + nsCOMPtr netLinkSvc = + do_GetService(NS_NETWORK_LINK_SERVICE_CONTRACTID, &rv); + NS_ENSURE_SUCCESS(rv, rv); + + uint32_t linkType; + rv = netLinkSvc->GetLinkType(&linkType); + NS_ENSURE_SUCCESS(rv, rv); + + if (!(linkType == nsINetworkLinkService::LINK_TYPE_UNKNOWN || + linkType == nsINetworkLinkService::LINK_TYPE_ETHERNET || + linkType == nsINetworkLinkService::LINK_TYPE_USB || + linkType == nsINetworkLinkService::LINK_TYPE_WIFI)) { + return NS_OK; + } + // Don't trigger the network if the load flags say so. if (mLoadFlags & (LOAD_ONLY_FROM_CACHE | LOAD_NO_NETWORK_IO)) { return NS_OK; diff --git a/testing/specialpowers/content/SpecialPowersObserverAPI.js b/testing/specialpowers/content/SpecialPowersObserverAPI.js index b7c3ed522940..5ebf4576fa4c 100644 --- a/testing/specialpowers/content/SpecialPowersObserverAPI.js +++ b/testing/specialpowers/content/SpecialPowersObserverAPI.js @@ -640,11 +640,9 @@ SpecialPowersObserverAPI.prototype = { let id = aMessage.data.id; let extension = this._extensions.get(id); this._extensions.delete(id); - let {setTimeout} = ChromeUtils.import("resource://gre/modules/Timer.jsm", null); - let done = () => { - setTimeout(() => { - this._sendReply(aMessage, "SPExtensionMessage", {id, type: "extensionUnloaded", args: []}); - }, 0); + let done = async () => { + await extension._uninstallPromise; + this._sendReply(aMessage, "SPExtensionMessage", {id, type: "extensionUnloaded", args: []}); }; extension.shutdown().then(done, done); return undefined; diff --git a/testing/web-platform/meta/IndexedDB/interfaces.any.js.ini b/testing/web-platform/meta/IndexedDB/interfaces.any.js.ini index 8824b094700f..85ac5c4803b6 100644 --- a/testing/web-platform/meta/IndexedDB/interfaces.any.js.ini +++ b/testing/web-platform/meta/IndexedDB/interfaces.any.js.ini @@ -2,5 +2,3 @@ [ImageBitmapRenderingContext interface: existence and properties of interface object] expected: FAIL - -[interfaces.any.html] diff --git a/testing/web-platform/meta/MANIFEST.json b/testing/web-platform/meta/MANIFEST.json index 73603977d87f..cc2048f68ab9 100644 --- a/testing/web-platform/meta/MANIFEST.json +++ b/testing/web-platform/meta/MANIFEST.json @@ -298645,6 +298645,26 @@ {} ] ], + "service-workers/service-worker/resources/service-worker-interception-dynamic-import-worker.js": [ + [ + {} + ] + ], + "service-workers/service-worker/resources/service-worker-interception-network-worker.js": [ + [ + {} + ] + ], + "service-workers/service-worker/resources/service-worker-interception-service-worker.js": [ + [ + {} + ] + ], + "service-workers/service-worker/resources/service-worker-interception-static-import-worker.js": [ + [ + {} + ] + ], "service-workers/service-worker/resources/shared-worker-controlled.js": [ [ {} @@ -369622,6 +369642,12 @@ {} ] ], + "service-workers/service-worker/dedicated-worker-service-worker-interception.https.html": [ + [ + "/service-workers/service-worker/dedicated-worker-service-worker-interception.https.html", + {} + ] + ], "service-workers/service-worker/detached-context.https.html": [ [ "/service-workers/service-worker/detached-context.https.html", @@ -579452,11 +579478,11 @@ "testharness" ], "html/semantics/embedded-content/the-img-element/sizes/sizes-dynamic-001-ref.html": [ - "d2a087e2d55f7d0a2de3a0008c149932151a69f0", + "497a115d29e597db7ef08aff11534fd69c449130", "support" ], "html/semantics/embedded-content/the-img-element/sizes/sizes-dynamic-001.html": [ - "0256768b16722bf4a8e6e1fb41b48e321509610f", + "c25df42c0fa9b20cfac886da13c74801c63d8d40", "reftest" ], "html/semantics/embedded-content/the-img-element/sizes/sizes-iframed.sub.html": [ @@ -606627,6 +606653,10 @@ "8402c159967bb6e91903adc52e7d68c8d2443a72", "testharness" ], + "service-workers/service-worker/dedicated-worker-service-worker-interception.https.html": [ + "f0eefc8b5ca0e26d87bddd7821bcfcb2a387d6f8", + "testharness" + ], "service-workers/service-worker/detached-context.https.html": [ "81fc149311b54f92a2daedd81ffaba33fb88e831", "testharness" @@ -608075,6 +608105,22 @@ "f7c6bb3ba222dc35a09ef806a7c6d145339f9eb2", "support" ], + "service-workers/service-worker/resources/service-worker-interception-dynamic-import-worker.js": [ + "4b123607e3cb215ed6ebcb1d6c88793c2245be50", + "support" + ], + "service-workers/service-worker/resources/service-worker-interception-network-worker.js": [ + "d14febde5e8eceecc45e6104bb91fbe41ae6dea7", + "support" + ], + "service-workers/service-worker/resources/service-worker-interception-service-worker.js": [ + "323d1116c23cd9bfb9d6b14e7d815dfb132e36d0", + "support" + ], + "service-workers/service-worker/resources/service-worker-interception-static-import-worker.js": [ + "0f321563c9d64c45859f548988d0701e4e6373c5", + "support" + ], "service-workers/service-worker/resources/shared-worker-controlled.js": [ "9ae937c2e8499991432caa4587eb68fe2998f503", "support" @@ -608684,7 +608730,7 @@ "testharness" ], "shadow-dom/input-element-list.html": [ - "79b4a278f0e35646cfdffeebf8f0523e2772bc9b", + "fcfa6fee4ecc1391a457880bad3564778a76127a", "testharness" ], "shadow-dom/layout-slot-no-longer-assigned.html": [ diff --git a/testing/web-platform/meta/WebCryptoAPI/generateKey/successes_AES-CTR.https.any.js.ini b/testing/web-platform/meta/WebCryptoAPI/generateKey/successes_AES-CTR.https.any.js.ini index 4ae91b8cdcf1..0e4d5edfa62d 100644 --- a/testing/web-platform/meta/WebCryptoAPI/generateKey/successes_AES-CTR.https.any.js.ini +++ b/testing/web-platform/meta/WebCryptoAPI/generateKey/successes_AES-CTR.https.any.js.ini @@ -2,5 +2,3 @@ [Untitled] expected: FAIL - -[successes_AES-CTR.https.any.html] diff --git a/testing/web-platform/meta/WebCryptoAPI/generateKey/successes_HMAC.https.any.js.ini b/testing/web-platform/meta/WebCryptoAPI/generateKey/successes_HMAC.https.any.js.ini index b9f66ccb86ac..aa4c25abf56c 100644 --- a/testing/web-platform/meta/WebCryptoAPI/generateKey/successes_HMAC.https.any.js.ini +++ b/testing/web-platform/meta/WebCryptoAPI/generateKey/successes_HMAC.https.any.js.ini @@ -2,5 +2,3 @@ [Untitled] expected: FAIL - -[successes_HMAC.https.any.html] diff --git a/testing/web-platform/meta/cors/304.htm.ini b/testing/web-platform/meta/cors/304.htm.ini index c460f632775f..6498aad1cc12 100644 --- a/testing/web-platform/meta/cors/304.htm.ini +++ b/testing/web-platform/meta/cors/304.htm.ini @@ -1,2 +1 @@ prefs: [network.http.rcwn.enabled:false] -[304.htm] diff --git a/testing/web-platform/meta/css/cssom-view/cssom-getBoxQuads-001.html.ini b/testing/web-platform/meta/css/cssom-view/cssom-getBoxQuads-001.html.ini index 3a1f70682543..153286bb8e11 100644 --- a/testing/web-platform/meta/css/cssom-view/cssom-getBoxQuads-001.html.ini +++ b/testing/web-platform/meta/css/cssom-view/cssom-getBoxQuads-001.html.ini @@ -1,2 +1 @@ prefs: [layout.css.getBoxQuads.enabled:true, layout.css.convertFromNode.enabled:true] -[cssom-getBoxQuads-001.html] diff --git a/testing/web-platform/meta/css/filter-effects/interfaces.any.js.ini b/testing/web-platform/meta/css/filter-effects/interfaces.any.js.ini index b7fe9414cb31..ef9431363cd2 100644 --- a/testing/web-platform/meta/css/filter-effects/interfaces.any.js.ini +++ b/testing/web-platform/meta/css/filter-effects/interfaces.any.js.ini @@ -29,5 +29,3 @@ [SVGFEImageElement interface: attribute crossOrigin] expected: FAIL - -[interfaces.any.worker.html] diff --git a/testing/web-platform/meta/custom-elements/builtin-coverage.html.ini b/testing/web-platform/meta/custom-elements/builtin-coverage.html.ini index 6caa000af4d3..acff42697901 100644 --- a/testing/web-platform/meta/custom-elements/builtin-coverage.html.ini +++ b/testing/web-platform/meta/custom-elements/builtin-coverage.html.ini @@ -330,3 +330,5 @@ [dialog: Operator 'new' should instantiate a customized built-in element] expected: FAIL + [slot: Operator 'new' should instantiate a customized built-in element] + expected: FAIL diff --git a/testing/web-platform/meta/feature-policy/interfaces.any.js.ini b/testing/web-platform/meta/feature-policy/interfaces.any.js.ini index c1b53cb2455c..247ad480f273 100644 --- a/testing/web-platform/meta/feature-policy/interfaces.any.js.ini +++ b/testing/web-platform/meta/feature-policy/interfaces.any.js.ini @@ -2,5 +2,3 @@ [HTMLIFrameElement interface: attribute allow] expected: FAIL - -[interfaces.any.worker.html] diff --git a/testing/web-platform/meta/fetch/api/basic/conditional-get.html.ini b/testing/web-platform/meta/fetch/api/basic/conditional-get.html.ini index 0e1c8fb86527..6498aad1cc12 100644 --- a/testing/web-platform/meta/fetch/api/basic/conditional-get.html.ini +++ b/testing/web-platform/meta/fetch/api/basic/conditional-get.html.ini @@ -1,2 +1 @@ prefs: [network.http.rcwn.enabled:false] -[conditional-get.html] diff --git a/testing/web-platform/meta/fetch/api/request/request-cache-default.html.ini b/testing/web-platform/meta/fetch/api/request/request-cache-default.html.ini index b5089424c859..6498aad1cc12 100644 --- a/testing/web-platform/meta/fetch/api/request/request-cache-default.html.ini +++ b/testing/web-platform/meta/fetch/api/request/request-cache-default.html.ini @@ -1,2 +1 @@ prefs: [network.http.rcwn.enabled:false] -[request-cache-default.html] diff --git a/testing/web-platform/meta/fetch/api/request/request-cache-force-cache.html.ini b/testing/web-platform/meta/fetch/api/request/request-cache-force-cache.html.ini index 040f10f2bb38..6498aad1cc12 100644 --- a/testing/web-platform/meta/fetch/api/request/request-cache-force-cache.html.ini +++ b/testing/web-platform/meta/fetch/api/request/request-cache-force-cache.html.ini @@ -1,2 +1 @@ prefs: [network.http.rcwn.enabled:false] -[request-cache-force-cache.html] diff --git a/testing/web-platform/meta/fetch/api/request/request-cache-reload.html.ini b/testing/web-platform/meta/fetch/api/request/request-cache-reload.html.ini index 3bc17e282099..6498aad1cc12 100644 --- a/testing/web-platform/meta/fetch/api/request/request-cache-reload.html.ini +++ b/testing/web-platform/meta/fetch/api/request/request-cache-reload.html.ini @@ -1,2 +1 @@ prefs: [network.http.rcwn.enabled:false] -[request-cache-reload.html] diff --git a/testing/web-platform/meta/html/syntax/parsing/html5lib_tests15.html.ini b/testing/web-platform/meta/html/syntax/parsing/html5lib_tests15.html.ini index f0a32a43d580..050d4306ac64 100644 --- a/testing/web-platform/meta/html/syntax/parsing/html5lib_tests15.html.ini +++ b/testing/web-platform/meta/html/syntax/parsing/html5lib_tests15.html.ini @@ -11,7 +11,3 @@ [html5lib_tests15.html 938af694979b4eae59e7bd3ab71d76e5254192a0] expected: FAIL - -[html5lib_tests15.html?run_type=write] - -[html5lib_tests15.html?run_type=uri] diff --git a/testing/web-platform/meta/intersection-observer/timestamp.html.ini b/testing/web-platform/meta/intersection-observer/timestamp.html.ini index 224d6e7aa08e..97bd26576858 100644 --- a/testing/web-platform/meta/intersection-observer/timestamp.html.ini +++ b/testing/web-platform/meta/intersection-observer/timestamp.html.ini @@ -1,2 +1 @@ prefs: [privacy.reduceTimerPrecision:false] -[timestamp.html] diff --git a/testing/web-platform/meta/mozilla-sync b/testing/web-platform/meta/mozilla-sync index e654dd99d132..fcbab3436530 100644 --- a/testing/web-platform/meta/mozilla-sync +++ b/testing/web-platform/meta/mozilla-sync @@ -1,2 +1,2 @@ -local: ac31e7b4fddc20a83d3675d2ac27672007892a63 -upstream: 232137f0fdacdeed99a7df5dd229d23020b0bccc +local: de011ba330ecaed7db2db6c6eccb647cf75ddd41 +upstream: 347a7974c93326910109cd0f3386cc427add4ec5 diff --git a/testing/web-platform/meta/navigation-timing/nav2_test_redirect_server.html.ini b/testing/web-platform/meta/navigation-timing/nav2_test_redirect_server.html.ini index 4f732c2d0bbb..97bd26576858 100644 --- a/testing/web-platform/meta/navigation-timing/nav2_test_redirect_server.html.ini +++ b/testing/web-platform/meta/navigation-timing/nav2_test_redirect_server.html.ini @@ -1,2 +1 @@ prefs: [privacy.reduceTimerPrecision:false] -[nav2_test_redirect_server.html] diff --git a/testing/web-platform/meta/requestidlecallback/basic.html.ini b/testing/web-platform/meta/requestidlecallback/basic.html.ini index 712d4b3ee5d4..97bd26576858 100644 --- a/testing/web-platform/meta/requestidlecallback/basic.html.ini +++ b/testing/web-platform/meta/requestidlecallback/basic.html.ini @@ -1,2 +1 @@ prefs: [privacy.reduceTimerPrecision:false] -[basic.html] diff --git a/testing/web-platform/meta/service-workers/service-worker/dedicated-worker-service-worker-interception.https.html.ini b/testing/web-platform/meta/service-workers/service-worker/dedicated-worker-service-worker-interception.https.html.ini new file mode 100644 index 000000000000..6324c5b9b013 --- /dev/null +++ b/testing/web-platform/meta/service-workers/service-worker/dedicated-worker-service-worker-interception.https.html.ini @@ -0,0 +1,8 @@ +[dedicated-worker-service-worker-interception.https.html] + expected: ERROR + [Static import should be intercepted by a service worker.] + expected: TIMEOUT + + [Dynamic import should be intercepted by a service worker.] + expected: NOTRUN + diff --git a/testing/web-platform/meta/service-workers/service-worker/resource-timing.https.html.ini b/testing/web-platform/meta/service-workers/service-worker/resource-timing.https.html.ini index 40fafb2415ff..97bd26576858 100644 --- a/testing/web-platform/meta/service-workers/service-worker/resource-timing.https.html.ini +++ b/testing/web-platform/meta/service-workers/service-worker/resource-timing.https.html.ini @@ -1,2 +1 @@ prefs: [privacy.reduceTimerPrecision:false] -[resource-timing.https.html] diff --git a/testing/web-platform/meta/url/interfaces.any.js.ini b/testing/web-platform/meta/url/interfaces.any.js.ini index d0d5686fa01d..879968971ec3 100644 --- a/testing/web-platform/meta/url/interfaces.any.js.ini +++ b/testing/web-platform/meta/url/interfaces.any.js.ini @@ -2,5 +2,3 @@ [URL interface: legacy window alias] expected: FAIL - -[interfaces.any.worker.html] diff --git a/testing/web-platform/meta/web-animations/animation-model/animation-types/accumulation-per-property.html.ini b/testing/web-platform/meta/web-animations/animation-model/animation-types/accumulation-per-property.html.ini index 970ee21426d7..67cc89782b57 100644 --- a/testing/web-platform/meta/web-animations/animation-model/animation-types/accumulation-per-property.html.ini +++ b/testing/web-platform/meta/web-animations/animation-model/animation-types/accumulation-per-property.html.ini @@ -1,2 +1 @@ prefs: [layout.css.font-variations.enabled:true, layout.css.overflow-clip-box.enabled:true, layout.css.individual-transform.enabled:true] -[accumulation-per-property.html] diff --git a/testing/web-platform/meta/web-animations/animation-model/animation-types/addition-per-property.html.ini b/testing/web-platform/meta/web-animations/animation-model/animation-types/addition-per-property.html.ini index 81a7de255fe9..67cc89782b57 100644 --- a/testing/web-platform/meta/web-animations/animation-model/animation-types/addition-per-property.html.ini +++ b/testing/web-platform/meta/web-animations/animation-model/animation-types/addition-per-property.html.ini @@ -1,2 +1 @@ prefs: [layout.css.font-variations.enabled:true, layout.css.overflow-clip-box.enabled:true, layout.css.individual-transform.enabled:true] -[addition-per-property.html] diff --git a/testing/web-platform/meta/websockets/constructor/014.html.ini b/testing/web-platform/meta/websockets/constructor/014.html.ini index b511b5cfd064..1ecf2e83b18f 100644 --- a/testing/web-platform/meta/websockets/constructor/014.html.ini +++ b/testing/web-platform/meta/websockets/constructor/014.html.ini @@ -2,5 +2,3 @@ disabled: if (os == "win") and (version == "5.1.2600"): https://bugzilla.mozilla.org/show_bug.cgi?id=1090198 if e10s and debug: https://bugzilla.mozilla.org/show_bug.cgi?id=1090198 - -[014.html?wss] diff --git a/testing/web-platform/meta/websockets/cookies/006.html.ini b/testing/web-platform/meta/websockets/cookies/006.html.ini index 7bee4ae4a26e..aec9965b3387 100644 --- a/testing/web-platform/meta/websockets/cookies/006.html.ini +++ b/testing/web-platform/meta/websockets/cookies/006.html.ini @@ -2,5 +2,3 @@ [WebSockets: setting Secure cookie with document.cookie, checking ws request] expected: FAIL - -[006.html] diff --git a/testing/web-platform/meta/websockets/unload-a-document/001.html.ini b/testing/web-platform/meta/websockets/unload-a-document/001.html.ini index 762baf601ce6..03a86d22e1a7 100644 --- a/testing/web-platform/meta/websockets/unload-a-document/001.html.ini +++ b/testing/web-platform/meta/websockets/unload-a-document/001.html.ini @@ -1,5 +1,3 @@ [001.html] disabled: if (os == "linux") and debug and webrender: https://bugzilla.mozilla.org/show_bug.cgi?id=1372789 - -[001.html?wss] diff --git a/testing/web-platform/meta/workers/WorkerPerformanceNow.html.ini b/testing/web-platform/meta/workers/WorkerPerformanceNow.html.ini index 690f845150d0..97bd26576858 100644 --- a/testing/web-platform/meta/workers/WorkerPerformanceNow.html.ini +++ b/testing/web-platform/meta/workers/WorkerPerformanceNow.html.ini @@ -1,2 +1 @@ prefs: [privacy.reduceTimerPrecision:false] -[WorkerPerformanceNow.html] diff --git a/testing/web-platform/meta/workers/semantics/navigation/002.html.ini b/testing/web-platform/meta/workers/semantics/navigation/002.html.ini index 5530a39d48f2..97bd26576858 100644 --- a/testing/web-platform/meta/workers/semantics/navigation/002.html.ini +++ b/testing/web-platform/meta/workers/semantics/navigation/002.html.ini @@ -1,2 +1 @@ prefs: [privacy.reduceTimerPrecision:false] -[002.html] diff --git a/testing/web-platform/meta/xhr/sync-no-progress.any.js.ini b/testing/web-platform/meta/xhr/sync-no-progress.any.js.ini index d92a0753d6ce..267e0e7c9c72 100644 --- a/testing/web-platform/meta/xhr/sync-no-progress.any.js.ini +++ b/testing/web-platform/meta/xhr/sync-no-progress.any.js.ini @@ -2,5 +2,3 @@ [progress event should not be fired by sync XHR] expected: FAIL - -[sync-no-progress.any.html] diff --git a/testing/web-platform/tests/service-workers/service-worker/dedicated-worker-service-worker-interception.https.html b/testing/web-platform/tests/service-workers/service-worker/dedicated-worker-service-worker-interception.https.html new file mode 100644 index 000000000000..2144f4827121 --- /dev/null +++ b/testing/web-platform/tests/service-workers/service-worker/dedicated-worker-service-worker-interception.https.html @@ -0,0 +1,40 @@ + +DedicatedWorker: ServiceWorker interception + + + + diff --git a/testing/web-platform/tests/service-workers/service-worker/resources/service-worker-interception-dynamic-import-worker.js b/testing/web-platform/tests/service-workers/service-worker/resources/service-worker-interception-dynamic-import-worker.js new file mode 100644 index 000000000000..680e07ff588c --- /dev/null +++ b/testing/web-platform/tests/service-workers/service-worker/resources/service-worker-interception-dynamic-import-worker.js @@ -0,0 +1 @@ +import('./service-worker-interception-network-worker.js'); diff --git a/testing/web-platform/tests/service-workers/service-worker/resources/service-worker-interception-network-worker.js b/testing/web-platform/tests/service-workers/service-worker/resources/service-worker-interception-network-worker.js new file mode 100644 index 000000000000..5ff390010134 --- /dev/null +++ b/testing/web-platform/tests/service-workers/service-worker/resources/service-worker-interception-network-worker.js @@ -0,0 +1 @@ +postMessage('LOADED_FROM_NETWORK'); diff --git a/testing/web-platform/tests/service-workers/service-worker/resources/service-worker-interception-service-worker.js b/testing/web-platform/tests/service-workers/service-worker/resources/service-worker-interception-service-worker.js new file mode 100644 index 000000000000..6b43a3769637 --- /dev/null +++ b/testing/web-platform/tests/service-workers/service-worker/resources/service-worker-interception-service-worker.js @@ -0,0 +1,9 @@ +const kURL = '/service-worker-interception-network-worker.js'; +const kScript = 'postMessage("LOADED_FROM_SERVICE_WORKER")'; +const kHeaders = [['content-type', 'text/javascript']]; + +self.addEventListener('fetch', e => { + // Serve a generated response for kURL. + if (e.request.url.indexOf(kURL) != -1) + e.respondWith(new Response(kScript, { headers: kHeaders })); +}); diff --git a/testing/web-platform/tests/service-workers/service-worker/resources/service-worker-interception-static-import-worker.js b/testing/web-platform/tests/service-workers/service-worker/resources/service-worker-interception-static-import-worker.js new file mode 100644 index 000000000000..e570958701db --- /dev/null +++ b/testing/web-platform/tests/service-workers/service-worker/resources/service-worker-interception-static-import-worker.js @@ -0,0 +1 @@ +import './service-worker-interception-network-worker.js'; diff --git a/toolkit/components/extensions/Extension.jsm b/toolkit/components/extensions/Extension.jsm index f33f97f31125..85d26c34d892 100644 --- a/toolkit/components/extensions/Extension.jsm +++ b/toolkit/components/extensions/Extension.jsm @@ -1155,7 +1155,9 @@ class BootstrapScope { uninstall(data, reason) { AsyncShutdown.profileChangeTeardown.addBlocker( `Uninstalling add-on: ${data.id}`, - Management.emit("uninstall", {id: data.id})); + Management.emit("uninstall", {id: data.id}).then(() => { + Management.emit("uninstall-complete", {id: data.id}); + })); } update(data, reason) { diff --git a/toolkit/components/extensions/ExtensionTestCommon.jsm b/toolkit/components/extensions/ExtensionTestCommon.jsm index 564a3448f32d..ee2c2d52c6a9 100644 --- a/toolkit/components/extensions/ExtensionTestCommon.jsm +++ b/toolkit/components/extensions/ExtensionTestCommon.jsm @@ -56,9 +56,10 @@ XPCOMUtils.defineLazyGetter(this, "console", ExtensionUtils.getConsole); * @param {nsIFile} file * @param {nsIURI} rootURI * @param {string} installType + * @param {boolean} [embedded = false] */ class MockExtension { - constructor(file, rootURI, installType) { + constructor(file, rootURI, installType, embedded) { this.id = null; this.file = file; this.rootURI = rootURI; @@ -84,6 +85,9 @@ class MockExtension { this._extension = null; this._extensionPromise = promiseEvent("startup"); this._readyPromise = promiseEvent("ready"); + if (!embedded) { + this._uninstallPromise = promiseEvent("uninstall-complete"); + } } maybeSetID(uri, id) { @@ -374,7 +378,7 @@ var ExtensionTestCommon = class ExtensionTestCommon { // This may be "temporary" or "permanent". if (data.useAddonManager) { - return new MockExtension(file, jarURI, data.useAddonManager); + return new MockExtension(file, jarURI, data.useAddonManager, data.embedded); } let id; diff --git a/toolkit/content/aboutNetworking.js b/toolkit/content/aboutNetworking.js index d81e63e6599e..01e8826bfed5 100644 --- a/toolkit/content/aboutNetworking.js +++ b/toolkit/content/aboutNetworking.js @@ -12,6 +12,8 @@ const gDashboard = Cc["@mozilla.org/network/dashboard;1"] .getService(Ci.nsIDashboard); const gDirServ = Cc["@mozilla.org/file/directory_service;1"] .getService(Ci.nsIDirectoryServiceProvider); +const gNetLinkSvc = Cc["@mozilla.org/network/network-link-service;1"] + .getService(Ci.nsINetworkLinkService); const gRequestNetworkingData = { "http": gDashboard.requestHttpConnections, @@ -127,6 +129,14 @@ function displayWebsockets(data) { function displayRcwnStats(data) { let status = Services.prefs.getBoolPref("network.http.rcwn.enabled"); + let linkType = gNetLinkSvc.linkType; + if (!(linkType == Ci.nsINetworkLinkService.LINK_TYPE_UNKNOWN || + linkType == Ci.nsINetworkLinkService.LINK_TYPE_ETHERNET || + linkType == Ci.nsINetworkLinkService.LINK_TYPE_USB || + linkType == Ci.nsINetworkLinkService.LINK_TYPE_WIFI)) { + status = false; + } + let cacheWon = data.rcwnCacheWonCount; let netWon = data.rcwnNetWonCount; let total = data.totalNetworkRequests;