зеркало из https://github.com/mozilla/gecko-dev.git
Merge mozilla-inbound to mozilla-central. a=merge
This commit is contained in:
Коммит
c581ba2f76
|
@ -474,7 +474,7 @@ async function interactiveUpdateTest(autoUpdate, checkFn) {
|
||||||
await checkPromise;
|
await checkPromise;
|
||||||
|
|
||||||
BrowserTestUtils.removeTab(gBrowser.selectedTab);
|
BrowserTestUtils.removeTab(gBrowser.selectedTab);
|
||||||
addon.uninstall();
|
await addon.uninstall();
|
||||||
await SpecialPowers.popPrefEnv();
|
await SpecialPowers.popPrefEnv();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -501,7 +501,7 @@ add_task(async function() {
|
||||||
for (let addon of await AddonManager.getAllAddons()) {
|
for (let addon of await AddonManager.getAllAddons()) {
|
||||||
if (!existingAddons.has(addon.id)) {
|
if (!existingAddons.has(addon.id)) {
|
||||||
ok(false, `Addon ${addon.id} was left installed at the end of the test`);
|
ok(false, `Addon ${addon.id} was left installed at the end of the test`);
|
||||||
addon.uninstall();
|
await addon.uninstall();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
|
@ -1617,15 +1617,15 @@ protected:
|
||||||
bool DetermineFontSizeInflationState();
|
bool DetermineFontSizeInflationState();
|
||||||
|
|
||||||
void RecordAlloc(void* aPtr) {
|
void RecordAlloc(void* aPtr) {
|
||||||
#ifdef DEBUG
|
#ifdef MOZ_DIAGNOSTIC_ASSERT_ENABLED
|
||||||
MOZ_ASSERT(!mAllocatedPointers.Contains(aPtr));
|
MOZ_DIAGNOSTIC_ASSERT(!mAllocatedPointers.Contains(aPtr));
|
||||||
mAllocatedPointers.PutEntry(aPtr);
|
mAllocatedPointers.PutEntry(aPtr);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void RecordFree(void* aPtr) {
|
void RecordFree(void* aPtr) {
|
||||||
#ifdef DEBUG
|
#ifdef MOZ_DIAGNOSTIC_ASSERT_ENABLED
|
||||||
MOZ_ASSERT(mAllocatedPointers.Contains(aPtr));
|
MOZ_DIAGNOSTIC_ASSERT(mAllocatedPointers.Contains(aPtr));
|
||||||
mAllocatedPointers.RemoveEntry(aPtr);
|
mAllocatedPointers.RemoveEntry(aPtr);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
@ -1717,7 +1717,9 @@ protected:
|
||||||
|
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
nsIFrame* mDrawEventTargetFrame;
|
nsIFrame* mDrawEventTargetFrame;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef MOZ_DIAGNOSTIC_ASSERT_ENABLED
|
||||||
// We track allocated pointers in a debug-only hashtable to assert against
|
// We track allocated pointers in a debug-only hashtable to assert against
|
||||||
// missing/double frees.
|
// missing/double frees.
|
||||||
nsTHashtable<nsPtrHashKey<void>> mAllocatedPointers;
|
nsTHashtable<nsPtrHashKey<void>> mAllocatedPointers;
|
||||||
|
|
|
@ -612,6 +612,7 @@ nsFrame::Init(nsIContent* aContent,
|
||||||
|
|
||||||
mContent = aContent;
|
mContent = aContent;
|
||||||
mParent = aParent;
|
mParent = aParent;
|
||||||
|
MOZ_DIAGNOSTIC_ASSERT(!mParent || PresShell() == mParent->PresShell());
|
||||||
|
|
||||||
if (aPrevInFlow) {
|
if (aPrevInFlow) {
|
||||||
mWritingMode = aPrevInFlow->GetWritingMode();
|
mWritingMode = aPrevInFlow->GetWritingMode();
|
||||||
|
@ -10914,6 +10915,7 @@ nsIFrame::SetParent(nsContainerFrame* aParent)
|
||||||
|
|
||||||
// Note that the current mParent may already be destroyed at this point.
|
// Note that the current mParent may already be destroyed at this point.
|
||||||
mParent = aParent;
|
mParent = aParent;
|
||||||
|
MOZ_DIAGNOSTIC_ASSERT(!mParent || PresShell() == mParent->PresShell());
|
||||||
if (::IsXULBoxWrapped(this)) {
|
if (::IsXULBoxWrapped(this)) {
|
||||||
::InitBoxMetrics(this, true);
|
::InitBoxMetrics(this, true);
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -780,6 +780,7 @@ public:
|
||||||
void SetComputedStyle(ComputedStyle* aStyle)
|
void SetComputedStyle(ComputedStyle* aStyle)
|
||||||
{
|
{
|
||||||
if (aStyle != mComputedStyle) {
|
if (aStyle != mComputedStyle) {
|
||||||
|
MOZ_DIAGNOSTIC_ASSERT(PresShell() == aStyle->PresContextForFrame()->PresShell());
|
||||||
RefPtr<ComputedStyle> oldComputedStyle = mComputedStyle.forget();
|
RefPtr<ComputedStyle> oldComputedStyle = mComputedStyle.forget();
|
||||||
mComputedStyle = aStyle;
|
mComputedStyle = aStyle;
|
||||||
DidSetComputedStyle(oldComputedStyle);
|
DidSetComputedStyle(oldComputedStyle);
|
||||||
|
@ -795,6 +796,7 @@ public:
|
||||||
void SetComputedStyleWithoutNotification(ComputedStyle* aStyle)
|
void SetComputedStyleWithoutNotification(ComputedStyle* aStyle)
|
||||||
{
|
{
|
||||||
if (aStyle != mComputedStyle) {
|
if (aStyle != mComputedStyle) {
|
||||||
|
MOZ_DIAGNOSTIC_ASSERT(PresShell() == aStyle->PresContextForFrame()->PresShell());
|
||||||
mComputedStyle = aStyle;
|
mComputedStyle = aStyle;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -106,10 +106,6 @@ pref("network.http.max-persistent-connections-per-proxy", 20);
|
||||||
pref("network.http.spdy.push-allowance", 32768);
|
pref("network.http.spdy.push-allowance", 32768);
|
||||||
pref("network.http.spdy.default-hpack-buffer", 4096); // 4k
|
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
|
// See bug 545869 for details on why these are set the way they are
|
||||||
pref("network.buffer.cache.count", 24);
|
pref("network.buffer.cache.count", 24);
|
||||||
pref("network.buffer.cache.size", 16384);
|
pref("network.buffer.cache.size", 16384);
|
||||||
|
|
|
@ -1322,10 +1322,11 @@ pref("dom.event.clipboardevents.enabled", true);
|
||||||
pref("dom.event.highrestimestamp.enabled", true);
|
pref("dom.event.highrestimestamp.enabled", true);
|
||||||
pref("dom.event.coalesce_mouse_move", true);
|
pref("dom.event.coalesce_mouse_move", true);
|
||||||
|
|
||||||
pref("dom.webcomponents.shadowdom.enabled", false);
|
|
||||||
#ifdef NIGHTLY_BUILD
|
#ifdef NIGHTLY_BUILD
|
||||||
|
pref("dom.webcomponents.shadowdom.enabled", true);
|
||||||
pref("dom.webcomponents.customelements.enabled", true);
|
pref("dom.webcomponents.customelements.enabled", true);
|
||||||
#else
|
#else
|
||||||
|
pref("dom.webcomponents.shadowdom.enabled", false);
|
||||||
pref("dom.webcomponents.customelements.enabled", false);
|
pref("dom.webcomponents.customelements.enabled", false);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -112,6 +112,7 @@
|
||||||
#include "nsIMIMEInputStream.h"
|
#include "nsIMIMEInputStream.h"
|
||||||
#include "nsIMultiplexInputStream.h"
|
#include "nsIMultiplexInputStream.h"
|
||||||
#include "../../cache2/CacheFileUtils.h"
|
#include "../../cache2/CacheFileUtils.h"
|
||||||
|
#include "nsINetworkLinkService.h"
|
||||||
|
|
||||||
#ifdef MOZ_TASK_TRACER
|
#ifdef MOZ_TASK_TRACER
|
||||||
#include "GeckoTaskTracer.h"
|
#include "GeckoTaskTracer.h"
|
||||||
|
@ -9122,6 +9123,23 @@ nsHttpChannel::TriggerNetwork()
|
||||||
nsresult
|
nsresult
|
||||||
nsHttpChannel::MaybeRaceCacheWithNetwork()
|
nsHttpChannel::MaybeRaceCacheWithNetwork()
|
||||||
{
|
{
|
||||||
|
nsresult rv;
|
||||||
|
|
||||||
|
nsCOMPtr<nsINetworkLinkService> 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.
|
// Don't trigger the network if the load flags say so.
|
||||||
if (mLoadFlags & (LOAD_ONLY_FROM_CACHE | LOAD_NO_NETWORK_IO)) {
|
if (mLoadFlags & (LOAD_ONLY_FROM_CACHE | LOAD_NO_NETWORK_IO)) {
|
||||||
return NS_OK;
|
return NS_OK;
|
||||||
|
|
|
@ -640,11 +640,9 @@ SpecialPowersObserverAPI.prototype = {
|
||||||
let id = aMessage.data.id;
|
let id = aMessage.data.id;
|
||||||
let extension = this._extensions.get(id);
|
let extension = this._extensions.get(id);
|
||||||
this._extensions.delete(id);
|
this._extensions.delete(id);
|
||||||
let {setTimeout} = ChromeUtils.import("resource://gre/modules/Timer.jsm", null);
|
let done = async () => {
|
||||||
let done = () => {
|
await extension._uninstallPromise;
|
||||||
setTimeout(() => {
|
|
||||||
this._sendReply(aMessage, "SPExtensionMessage", {id, type: "extensionUnloaded", args: []});
|
this._sendReply(aMessage, "SPExtensionMessage", {id, type: "extensionUnloaded", args: []});
|
||||||
}, 0);
|
|
||||||
};
|
};
|
||||||
extension.shutdown().then(done, done);
|
extension.shutdown().then(done, done);
|
||||||
return undefined;
|
return undefined;
|
||||||
|
|
|
@ -2,5 +2,3 @@
|
||||||
[ImageBitmapRenderingContext interface: existence and properties of interface object]
|
[ImageBitmapRenderingContext interface: existence and properties of interface object]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
|
||||||
[interfaces.any.html]
|
|
||||||
|
|
|
@ -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": [
|
"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": [
|
||||||
[
|
[
|
||||||
"/service-workers/service-worker/detached-context.https.html",
|
"/service-workers/service-worker/detached-context.https.html",
|
||||||
|
@ -579452,11 +579478,11 @@
|
||||||
"testharness"
|
"testharness"
|
||||||
],
|
],
|
||||||
"html/semantics/embedded-content/the-img-element/sizes/sizes-dynamic-001-ref.html": [
|
"html/semantics/embedded-content/the-img-element/sizes/sizes-dynamic-001-ref.html": [
|
||||||
"d2a087e2d55f7d0a2de3a0008c149932151a69f0",
|
"497a115d29e597db7ef08aff11534fd69c449130",
|
||||||
"support"
|
"support"
|
||||||
],
|
],
|
||||||
"html/semantics/embedded-content/the-img-element/sizes/sizes-dynamic-001.html": [
|
"html/semantics/embedded-content/the-img-element/sizes/sizes-dynamic-001.html": [
|
||||||
"0256768b16722bf4a8e6e1fb41b48e321509610f",
|
"c25df42c0fa9b20cfac886da13c74801c63d8d40",
|
||||||
"reftest"
|
"reftest"
|
||||||
],
|
],
|
||||||
"html/semantics/embedded-content/the-img-element/sizes/sizes-iframed.sub.html": [
|
"html/semantics/embedded-content/the-img-element/sizes/sizes-iframed.sub.html": [
|
||||||
|
@ -606627,6 +606653,10 @@
|
||||||
"8402c159967bb6e91903adc52e7d68c8d2443a72",
|
"8402c159967bb6e91903adc52e7d68c8d2443a72",
|
||||||
"testharness"
|
"testharness"
|
||||||
],
|
],
|
||||||
|
"service-workers/service-worker/dedicated-worker-service-worker-interception.https.html": [
|
||||||
|
"f0eefc8b5ca0e26d87bddd7821bcfcb2a387d6f8",
|
||||||
|
"testharness"
|
||||||
|
],
|
||||||
"service-workers/service-worker/detached-context.https.html": [
|
"service-workers/service-worker/detached-context.https.html": [
|
||||||
"81fc149311b54f92a2daedd81ffaba33fb88e831",
|
"81fc149311b54f92a2daedd81ffaba33fb88e831",
|
||||||
"testharness"
|
"testharness"
|
||||||
|
@ -608075,6 +608105,22 @@
|
||||||
"f7c6bb3ba222dc35a09ef806a7c6d145339f9eb2",
|
"f7c6bb3ba222dc35a09ef806a7c6d145339f9eb2",
|
||||||
"support"
|
"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": [
|
"service-workers/service-worker/resources/shared-worker-controlled.js": [
|
||||||
"9ae937c2e8499991432caa4587eb68fe2998f503",
|
"9ae937c2e8499991432caa4587eb68fe2998f503",
|
||||||
"support"
|
"support"
|
||||||
|
@ -608684,7 +608730,7 @@
|
||||||
"testharness"
|
"testharness"
|
||||||
],
|
],
|
||||||
"shadow-dom/input-element-list.html": [
|
"shadow-dom/input-element-list.html": [
|
||||||
"79b4a278f0e35646cfdffeebf8f0523e2772bc9b",
|
"fcfa6fee4ecc1391a457880bad3564778a76127a",
|
||||||
"testharness"
|
"testharness"
|
||||||
],
|
],
|
||||||
"shadow-dom/layout-slot-no-longer-assigned.html": [
|
"shadow-dom/layout-slot-no-longer-assigned.html": [
|
||||||
|
|
|
@ -2,5 +2,3 @@
|
||||||
[Untitled]
|
[Untitled]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
|
||||||
[successes_AES-CTR.https.any.html]
|
|
||||||
|
|
|
@ -2,5 +2,3 @@
|
||||||
[Untitled]
|
[Untitled]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
|
||||||
[successes_HMAC.https.any.html]
|
|
||||||
|
|
|
@ -1,2 +1 @@
|
||||||
prefs: [network.http.rcwn.enabled:false]
|
prefs: [network.http.rcwn.enabled:false]
|
||||||
[304.htm]
|
|
||||||
|
|
|
@ -1,2 +1 @@
|
||||||
prefs: [layout.css.getBoxQuads.enabled:true, layout.css.convertFromNode.enabled:true]
|
prefs: [layout.css.getBoxQuads.enabled:true, layout.css.convertFromNode.enabled:true]
|
||||||
[cssom-getBoxQuads-001.html]
|
|
||||||
|
|
|
@ -29,5 +29,3 @@
|
||||||
[SVGFEImageElement interface: attribute crossOrigin]
|
[SVGFEImageElement interface: attribute crossOrigin]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
|
||||||
[interfaces.any.worker.html]
|
|
||||||
|
|
|
@ -330,3 +330,5 @@
|
||||||
[dialog: Operator 'new' should instantiate a customized built-in element]
|
[dialog: Operator 'new' should instantiate a customized built-in element]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
[slot: Operator 'new' should instantiate a customized built-in element]
|
||||||
|
expected: FAIL
|
||||||
|
|
|
@ -2,5 +2,3 @@
|
||||||
[HTMLIFrameElement interface: attribute allow]
|
[HTMLIFrameElement interface: attribute allow]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
|
||||||
[interfaces.any.worker.html]
|
|
||||||
|
|
|
@ -1,2 +1 @@
|
||||||
prefs: [network.http.rcwn.enabled:false]
|
prefs: [network.http.rcwn.enabled:false]
|
||||||
[conditional-get.html]
|
|
||||||
|
|
|
@ -1,2 +1 @@
|
||||||
prefs: [network.http.rcwn.enabled:false]
|
prefs: [network.http.rcwn.enabled:false]
|
||||||
[request-cache-default.html]
|
|
||||||
|
|
|
@ -1,2 +1 @@
|
||||||
prefs: [network.http.rcwn.enabled:false]
|
prefs: [network.http.rcwn.enabled:false]
|
||||||
[request-cache-force-cache.html]
|
|
||||||
|
|
|
@ -1,2 +1 @@
|
||||||
prefs: [network.http.rcwn.enabled:false]
|
prefs: [network.http.rcwn.enabled:false]
|
||||||
[request-cache-reload.html]
|
|
||||||
|
|
|
@ -11,7 +11,3 @@
|
||||||
[html5lib_tests15.html 938af694979b4eae59e7bd3ab71d76e5254192a0]
|
[html5lib_tests15.html 938af694979b4eae59e7bd3ab71d76e5254192a0]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
|
||||||
[html5lib_tests15.html?run_type=write]
|
|
||||||
|
|
||||||
[html5lib_tests15.html?run_type=uri]
|
|
||||||
|
|
|
@ -1,2 +1 @@
|
||||||
prefs: [privacy.reduceTimerPrecision:false]
|
prefs: [privacy.reduceTimerPrecision:false]
|
||||||
[timestamp.html]
|
|
||||||
|
|
|
@ -1,2 +1,2 @@
|
||||||
local: ac31e7b4fddc20a83d3675d2ac27672007892a63
|
local: de011ba330ecaed7db2db6c6eccb647cf75ddd41
|
||||||
upstream: 232137f0fdacdeed99a7df5dd229d23020b0bccc
|
upstream: 347a7974c93326910109cd0f3386cc427add4ec5
|
||||||
|
|
|
@ -1,2 +1 @@
|
||||||
prefs: [privacy.reduceTimerPrecision:false]
|
prefs: [privacy.reduceTimerPrecision:false]
|
||||||
[nav2_test_redirect_server.html]
|
|
||||||
|
|
|
@ -1,2 +1 @@
|
||||||
prefs: [privacy.reduceTimerPrecision:false]
|
prefs: [privacy.reduceTimerPrecision:false]
|
||||||
[basic.html]
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -1,2 +1 @@
|
||||||
prefs: [privacy.reduceTimerPrecision:false]
|
prefs: [privacy.reduceTimerPrecision:false]
|
||||||
[resource-timing.https.html]
|
|
||||||
|
|
|
@ -2,5 +2,3 @@
|
||||||
[URL interface: legacy window alias]
|
[URL interface: legacy window alias]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
|
||||||
[interfaces.any.worker.html]
|
|
||||||
|
|
|
@ -1,2 +1 @@
|
||||||
prefs: [layout.css.font-variations.enabled:true, layout.css.overflow-clip-box.enabled:true, layout.css.individual-transform.enabled:true]
|
prefs: [layout.css.font-variations.enabled:true, layout.css.overflow-clip-box.enabled:true, layout.css.individual-transform.enabled:true]
|
||||||
[accumulation-per-property.html]
|
|
||||||
|
|
|
@ -1,2 +1 @@
|
||||||
prefs: [layout.css.font-variations.enabled:true, layout.css.overflow-clip-box.enabled:true, layout.css.individual-transform.enabled:true]
|
prefs: [layout.css.font-variations.enabled:true, layout.css.overflow-clip-box.enabled:true, layout.css.individual-transform.enabled:true]
|
||||||
[addition-per-property.html]
|
|
||||||
|
|
|
@ -2,5 +2,3 @@
|
||||||
disabled:
|
disabled:
|
||||||
if (os == "win") and (version == "5.1.2600"): https://bugzilla.mozilla.org/show_bug.cgi?id=1090198
|
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
|
if e10s and debug: https://bugzilla.mozilla.org/show_bug.cgi?id=1090198
|
||||||
|
|
||||||
[014.html?wss]
|
|
||||||
|
|
|
@ -2,5 +2,3 @@
|
||||||
[WebSockets: setting Secure cookie with document.cookie, checking ws request]
|
[WebSockets: setting Secure cookie with document.cookie, checking ws request]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
|
||||||
[006.html]
|
|
||||||
|
|
|
@ -1,5 +1,3 @@
|
||||||
[001.html]
|
[001.html]
|
||||||
disabled:
|
disabled:
|
||||||
if (os == "linux") and debug and webrender: https://bugzilla.mozilla.org/show_bug.cgi?id=1372789
|
if (os == "linux") and debug and webrender: https://bugzilla.mozilla.org/show_bug.cgi?id=1372789
|
||||||
|
|
||||||
[001.html?wss]
|
|
||||||
|
|
|
@ -1,2 +1 @@
|
||||||
prefs: [privacy.reduceTimerPrecision:false]
|
prefs: [privacy.reduceTimerPrecision:false]
|
||||||
[WorkerPerformanceNow.html]
|
|
||||||
|
|
|
@ -1,2 +1 @@
|
||||||
prefs: [privacy.reduceTimerPrecision:false]
|
prefs: [privacy.reduceTimerPrecision:false]
|
||||||
[002.html]
|
|
||||||
|
|
|
@ -2,5 +2,3 @@
|
||||||
[progress event should not be fired by sync XHR]
|
[progress event should not be fired by sync XHR]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
|
||||||
[sync-no-progress.any.html]
|
|
||||||
|
|
|
@ -0,0 +1,40 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<title>DedicatedWorker: ServiceWorker interception</title>
|
||||||
|
<script src="/resources/testharness.js"></script>
|
||||||
|
<script src="/resources/testharnessreport.js"></script>
|
||||||
|
<script src="resources/test-helpers.sub.js"></script>
|
||||||
|
<script>
|
||||||
|
|
||||||
|
// Note that Chrome cannot pass these tests because of https://crbug.com/731599.
|
||||||
|
|
||||||
|
function service_worker_interception_test(url, description) {
|
||||||
|
promise_test(async t => {
|
||||||
|
// Register a service worker whose scope includes |url|.
|
||||||
|
const kServiceWorkerScriptURL =
|
||||||
|
'resources/service-worker-interception-service-worker.js';
|
||||||
|
const registration = await service_worker_unregister_and_register(
|
||||||
|
t, kServiceWorkerScriptURL, url);
|
||||||
|
add_result_callback(() => registration.unregister());
|
||||||
|
await wait_for_state(t, registration.installing, 'activated');
|
||||||
|
|
||||||
|
// Start a dedicated worker for |url|. The top-level script request and any
|
||||||
|
// module imports should be intercepted by the service worker.
|
||||||
|
const worker = new Worker(url, { type: 'module' });
|
||||||
|
const msg_event = await new Promise(resolve => worker.onmessage = resolve);
|
||||||
|
assert_equals(msg_event.data, 'LOADED_FROM_SERVICE_WORKER');
|
||||||
|
}, description);
|
||||||
|
}
|
||||||
|
|
||||||
|
service_worker_interception_test(
|
||||||
|
'resources/service-worker-interception-network-worker.js',
|
||||||
|
'Top-level module loading should be intercepted by a service worker.');
|
||||||
|
|
||||||
|
service_worker_interception_test(
|
||||||
|
'resources/service-worker-interception-static-import-worker.js',
|
||||||
|
'Static import should be intercepted by a service worker.');
|
||||||
|
|
||||||
|
service_worker_interception_test(
|
||||||
|
'resources/service-worker-interception-dynamic-import-worker.js',
|
||||||
|
'Dynamic import should be intercepted by a service worker.');
|
||||||
|
|
||||||
|
</script>
|
|
@ -0,0 +1 @@
|
||||||
|
import('./service-worker-interception-network-worker.js');
|
|
@ -0,0 +1 @@
|
||||||
|
postMessage('LOADED_FROM_NETWORK');
|
|
@ -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 }));
|
||||||
|
});
|
|
@ -0,0 +1 @@
|
||||||
|
import './service-worker-interception-network-worker.js';
|
|
@ -1155,7 +1155,9 @@ class BootstrapScope {
|
||||||
uninstall(data, reason) {
|
uninstall(data, reason) {
|
||||||
AsyncShutdown.profileChangeTeardown.addBlocker(
|
AsyncShutdown.profileChangeTeardown.addBlocker(
|
||||||
`Uninstalling add-on: ${data.id}`,
|
`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) {
|
update(data, reason) {
|
||||||
|
|
|
@ -56,9 +56,10 @@ XPCOMUtils.defineLazyGetter(this, "console", ExtensionUtils.getConsole);
|
||||||
* @param {nsIFile} file
|
* @param {nsIFile} file
|
||||||
* @param {nsIURI} rootURI
|
* @param {nsIURI} rootURI
|
||||||
* @param {string} installType
|
* @param {string} installType
|
||||||
|
* @param {boolean} [embedded = false]
|
||||||
*/
|
*/
|
||||||
class MockExtension {
|
class MockExtension {
|
||||||
constructor(file, rootURI, installType) {
|
constructor(file, rootURI, installType, embedded) {
|
||||||
this.id = null;
|
this.id = null;
|
||||||
this.file = file;
|
this.file = file;
|
||||||
this.rootURI = rootURI;
|
this.rootURI = rootURI;
|
||||||
|
@ -84,6 +85,9 @@ class MockExtension {
|
||||||
this._extension = null;
|
this._extension = null;
|
||||||
this._extensionPromise = promiseEvent("startup");
|
this._extensionPromise = promiseEvent("startup");
|
||||||
this._readyPromise = promiseEvent("ready");
|
this._readyPromise = promiseEvent("ready");
|
||||||
|
if (!embedded) {
|
||||||
|
this._uninstallPromise = promiseEvent("uninstall-complete");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
maybeSetID(uri, id) {
|
maybeSetID(uri, id) {
|
||||||
|
@ -374,7 +378,7 @@ var ExtensionTestCommon = class ExtensionTestCommon {
|
||||||
|
|
||||||
// This may be "temporary" or "permanent".
|
// This may be "temporary" or "permanent".
|
||||||
if (data.useAddonManager) {
|
if (data.useAddonManager) {
|
||||||
return new MockExtension(file, jarURI, data.useAddonManager);
|
return new MockExtension(file, jarURI, data.useAddonManager, data.embedded);
|
||||||
}
|
}
|
||||||
|
|
||||||
let id;
|
let id;
|
||||||
|
|
|
@ -12,6 +12,8 @@ const gDashboard = Cc["@mozilla.org/network/dashboard;1"]
|
||||||
.getService(Ci.nsIDashboard);
|
.getService(Ci.nsIDashboard);
|
||||||
const gDirServ = Cc["@mozilla.org/file/directory_service;1"]
|
const gDirServ = Cc["@mozilla.org/file/directory_service;1"]
|
||||||
.getService(Ci.nsIDirectoryServiceProvider);
|
.getService(Ci.nsIDirectoryServiceProvider);
|
||||||
|
const gNetLinkSvc = Cc["@mozilla.org/network/network-link-service;1"]
|
||||||
|
.getService(Ci.nsINetworkLinkService);
|
||||||
|
|
||||||
const gRequestNetworkingData = {
|
const gRequestNetworkingData = {
|
||||||
"http": gDashboard.requestHttpConnections,
|
"http": gDashboard.requestHttpConnections,
|
||||||
|
@ -127,6 +129,14 @@ function displayWebsockets(data) {
|
||||||
|
|
||||||
function displayRcwnStats(data) {
|
function displayRcwnStats(data) {
|
||||||
let status = Services.prefs.getBoolPref("network.http.rcwn.enabled");
|
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 cacheWon = data.rcwnCacheWonCount;
|
||||||
let netWon = data.rcwnNetWonCount;
|
let netWon = data.rcwnNetWonCount;
|
||||||
let total = data.totalNetworkRequests;
|
let total = data.totalNetworkRequests;
|
||||||
|
|
Загрузка…
Ссылка в новой задаче