This commit is contained in:
Phil Ringnalda 2017-01-23 18:56:25 -08:00
Родитель f445442db5 02a56df647
Коммит a2f48e817c
46 изменённых файлов: 102 добавлений и 235 удалений

Просмотреть файл

@ -130,3 +130,4 @@ d98f20c25feeac4dd7ebbd1c022957df1ef58af4 FIREFOX_AURORA_49_BASE
465d150bc8be5bbf9f02a8607d4552b6a5e1697c FIREFOX_AURORA_50_BASE
fc69febcbf6c0dcc4b3dfc7a346d8d348798a65f FIREFOX_AURORA_51_BASE
1196bf3032e1bce1fb07a01fd9082a767426c5fb FIREFOX_AURORA_52_BASE
f80dc9fc34680105b714a49b4704bb843f5f7004 FIREFOX_AURORA_53_BASE

Просмотреть файл

@ -22,4 +22,4 @@
# changes to stick? As of bug 928195, this shouldn't be necessary! Please
# don't change CLOBBER for WebIDL changes any more.
Bug 1223692 vp8/common/loopfilter.c removed.
Merge day clobber

Просмотреть файл

@ -7,6 +7,7 @@ support-files =
invalid.json
[browser_sdk_loader_sdk_modules.js]
[browser_sdk_loader_sdk_gui_modules.js]
skip-if = e10s # Bug 1315042
[browser_sdk_loader_jsm_modules.js]
[browser_sdk_loader_js_modules.js]
[browser_sdk_loader_json.js]

Просмотреть файл

@ -256,6 +256,7 @@ skip-if = os == "mac" # mac: Intermittent failures, bug 925225
skip-if = os == "mac" # Bug 1102331 - does focus things on the content window which break in e10s mode (still causes orange on Mac 10.10)
[browser_bug710878.js]
[browser_bug719271.js]
skip-if = e10s # Bug 1315042
[browser_bug724239.js]
[browser_bug734076.js]
[browser_bug735471.js]
@ -406,6 +407,7 @@ skip-if = os == "linux" # Bug 1329991 - test fails intermittently on Linux build
skip-if = os == 'linux' # Bug 1304272
[browser_tab_close_dependent_window.js]
[browser_tabDrop.js]
skip-if = e10s # Bug 1315042
[browser_tabReorder.js]
[browser_tab_detach_restore.js]
[browser_tab_drag_drop_perwindow.js]
@ -416,8 +418,9 @@ skip-if = buildapp == 'mulet' || (e10s && (debug || asan)) # Bug 1312436
skip-if = os == "linux" || os == "mac" # No tabs in titlebar on linux
# Disabled on OS X because of bug 967917
[browser_tabfocus.js]
skip-if = e10s # Bug 1315042
[browser_tabkeynavigation.js]
skip-if = (os == "mac" && !e10s) # Bug 1237713 - OSX eats keypresses for some reason
skip-if = true || (os == "mac" && !e10s) # Bug 1315042, Bug 1237713 - OSX eats keypresses for some reason
[browser_tabopen_reflows.js]
[browser_tabs_close_beforeunload.js]
support-files =

Просмотреть файл

@ -56,6 +56,7 @@ skip-if = !crashreporter
[browser_CTP_iframe.js]
[browser_CTP_multi_allow.js]
[browser_CTP_nonplugins.js]
skip-if = e10s # Bug 1315042
[browser_CTP_notificationBar.js]
[browser_CTP_outsideScrollArea.js]
[browser_CTP_remove_navigate.js]

Просмотреть файл

@ -6,7 +6,9 @@ support-files =
head.js
[browser_referrer_middle_click.js]
skip-if = true # Bug 1315042
[browser_referrer_middle_click_in_container.js]
skip-if = true # Bug 1315042
[browser_referrer_open_link_in_private.js]
skip-if = os == 'linux' # Bug 1145199
[browser_referrer_open_link_in_tab.js]

Просмотреть файл

@ -8,6 +8,6 @@ skip-if = !e10s || !crashreporter
[browser_showForm.js]
skip-if = !e10s || !crashreporter
[browser_withoutDump.js]
skip-if = !e10s
skip-if = !e10s || !crashreporter
[browser_autoSubmitRequest.js]
skip-if = !e10s || !crashreporter

Просмотреть файл

@ -29,6 +29,7 @@ support-files =
[browser_bug556061.js]
subsuite = clipboard
[browser_bug562649.js]
skip-if = e10s # Bug 1315042
[browser_bug623155.js]
support-files =
redirect_bug623155.sjs

Просмотреть файл

@ -12,6 +12,7 @@ skip-if = (os == "linux" && debug) # linux: bug 976544
[browser_devices_get_user_media_screen.js]
skip-if = (e10s && debug) || (os == "linux" && !debug) # bug 1320754 for e10s debug, and bug 1320994 for linux opt
[browser_devices_get_user_media_tear_off_tab.js]
skip-if = e10s # Bug 1315042
[browser_devices_get_user_media_unprompted_access.js]
[browser_devices_get_user_media_unprompted_access_in_frame.js]
[browser_devices_get_user_media_unprompted_access_tear_off_tab.js]

Просмотреть файл

@ -13,6 +13,7 @@ support-files =
[browser_forgetaboutsite.js]
[browser_forgetAPI_cookie_getCookiesWithOriginAttributes.js]
[browser_forgetAPI_EME_forgetThisSite.js]
skip-if = e10s # Bug 1315042
[browser_forgetAPI_quota_clearStoragesForPrincipal.js]
[browser_newtabButton.js]
[browser_usercontext.js]

Просмотреть файл

@ -50,10 +50,10 @@ add_task(function*() {
yield BrowserTestUtils.removeTab(gBrowser.selectedTab);
}
yield checkPrefSwitch(true, true);
yield checkPrefSwitch(false, true);
yield checkPrefSwitch(true, false);
yield checkPrefSwitch(false, false);
yield* checkPrefSwitch(true, true);
yield* checkPrefSwitch(false, true);
yield* checkPrefSwitch(true, false);
yield* checkPrefSwitch(false, false);
});
// test the download protection preference
@ -84,8 +84,8 @@ add_task(function*() {
yield BrowserTestUtils.removeTab(gBrowser.selectedTab);
}
yield checkPrefSwitch(true);
yield checkPrefSwitch(false);
yield* checkPrefSwitch(true);
yield* checkPrefSwitch(false);
});
// test the unwanted/uncommon software warning preference

Просмотреть файл

@ -26,6 +26,7 @@ tags = trackingprotection
[browser_privatebrowsing_cache.js]
[browser_privatebrowsing_certexceptionsui.js]
[browser_privatebrowsing_concurrent.js]
skip-if = e10s # Bug 1315042
[browser_privatebrowsing_context_and_chromeFlags.js]
[browser_privatebrowsing_crh.js]
[browser_privatebrowsing_downloadLastDir.js]

Просмотреть файл

@ -1 +1 @@
53.0a1
54.0a1

Просмотреть файл

@ -1 +1 @@
53.0a1
54.0a1

Просмотреть файл

@ -10,4 +10,4 @@
# hardcoded milestones in the tree from these two files.
#--------------------------------------------------------
53.0a1
54.0a1

Просмотреть файл

@ -42,9 +42,11 @@ add_task(function* () {
let targetElement = name.parentNode.parentNode;
let status = targetElement.querySelector(".target-status");
is(status.textContent, "Registering", "Service worker is currently registering");
// We might miss the registering state in some setup...
if (status.textContent == "Registering") {
yield waitForMutation(serviceWorkersElement, { childList: true, subtree: true });
}
yield waitForMutation(serviceWorkersElement, { childList: true, subtree: true });
is(status.textContent, "Running", "Service worker is currently running");
yield waitForMutation(serviceWorkersElement, { attributes: true, subtree: true });

Просмотреть файл

@ -1,6 +1,7 @@
add_task(function* () {
yield SpecialPowers.pushPrefEnv({
set: [["browser.groupedhistory.enabled", true]]
set: [["browser.groupedhistory.enabled", true],
["dom.ipc.processCount", 1]]
});
// Wait for a process change and then fulfil the promise.

Просмотреть файл

@ -20,6 +20,7 @@ tags = mcb
[browser_bug1011748.js]
[browser_bug1058164.js]
[browser_messagemanager_loadprocessscript.js]
skip-if = e10s # Bug 1315042
[browser_messagemanager_targetframeloader.js]
[browser_messagemanager_unload.js]
[browser_pagehide_on_tab_close.js]

Просмотреть файл

@ -71,6 +71,7 @@ disabled = disabled for bug 1266035 (bug 1310706 for re-enabling)
[test_browserElement_oop_OpenTab.html]
disabled = Disabling some OOP tests for WebIDL scope changes (bug 1310706 for re-enabling)
[test_browserElement_oop_PrivateBrowsing.html]
skip-if = true # Bug 1315042
[test_browserElement_oop_PromptCheck.html]
[test_browserElement_oop_PromptConfirm.html]
[test_browserElement_oop_PurgeHistory.html]

1
dom/cache/test/mochitest/browser.ini поставляемый
Просмотреть файл

@ -1 +1,2 @@
[browser_cache_pb_window.js]
skip-if = e10s # Bug 1315042

Просмотреть файл

@ -36,7 +36,7 @@ skip-if = e10s
[browser_focus_steal_from_chrome_during_mousedown.js]
[browser_frame_elements.js]
[browser_largeAllocation.js]
skip-if = !e10s # Large-Allocation requires e10s
skip-if = true || !e10s # Large-Allocation requires e10s, turned off for e10s-multi Bug 1315042
[browser_localStorage_privatestorageevent.js]
[browser_test__content.js]
[browser_test_new_window_from_content.js]
@ -52,4 +52,4 @@ support-files =
support-files =
prerender.html
prerender_target.html
skip-if = !e10s # Prerendering requires e10s
skip-if = true || !e10s # Prerendering requires e10s, turned off for e10s-multi Bug 1315042

Просмотреть файл

@ -253,8 +253,6 @@ struct InternalBarrierMethods<T*>
{
static bool isMarkable(T* v) { return v != nullptr; }
static bool isMarkableTaggedPointer(T* v) { return !IsNullTaggedPointer(v); }
static void preBarrier(T* v) { T::writeBarrierPre(v); }
static void postBarrier(T** vp, T* prev, T* next) { T::writeBarrierPost(vp, prev, next); }
@ -274,7 +272,6 @@ template <>
struct InternalBarrierMethods<Value>
{
static bool isMarkable(const Value& v) { return v.isGCThing(); }
static bool isMarkableTaggedPointer(const Value& v) { return isMarkable(v); }
static void preBarrier(const Value& v) {
DispatchTyped(PreBarrierFunctor<Value>(), v);
@ -310,8 +307,6 @@ template <>
struct InternalBarrierMethods<jsid>
{
static bool isMarkable(jsid id) { return JSID_IS_GCTHING(id); }
static bool isMarkableTaggedPointer(jsid id) { return isMarkable(id); }
static void preBarrier(jsid id) { DispatchTyped(PreBarrierFunctor<jsid>(), id); }
static void postBarrier(jsid* idp, jsid prev, jsid next) {}
};

Просмотреть файл

@ -300,10 +300,6 @@ class TenuredCell : public Cell
MOZ_ALWAYS_INLINE void unmark(uint32_t color) const;
MOZ_ALWAYS_INLINE void copyMarkBitsFrom(const TenuredCell* src);
// Note: this is in TenuredCell because JSObject subclasses are sometimes
// used tagged.
static MOZ_ALWAYS_INLINE bool isNullLike(const Cell* thing) { return !thing; }
// Access to the arena.
inline Arena* arena() const;
inline AllocKind getAllocKind() const;
@ -1285,7 +1281,7 @@ TenuredCell::isInsideZone(JS::Zone* zone) const
TenuredCell::readBarrier(TenuredCell* thing)
{
MOZ_ASSERT(!CurrentThreadIsIonCompiling());
MOZ_ASSERT(!isNullLike(thing));
MOZ_ASSERT(thing);
// It would be good if barriers were never triggered during collection, but
// at the moment this can happen e.g. when rekeying tables containing
@ -1318,7 +1314,6 @@ AssertSafeToSkipBarrier(TenuredCell* thing);
TenuredCell::writeBarrierPre(TenuredCell* thing)
{
MOZ_ASSERT(!CurrentThreadIsIonCompiling());
MOZ_ASSERT_IF(thing, !isNullLike(thing));
if (!thing)
return;

Просмотреть файл

@ -502,7 +502,7 @@ void
js::TraceNullableRoot(JSTracer* trc, T* thingp, const char* name)
{
AssertRootMarkingPhase(trc);
if (InternalBarrierMethods<T>::isMarkableTaggedPointer(*thingp))
if (InternalBarrierMethods<T>::isMarkable(*thingp))
DispatchToTracer(trc, ConvertToBase(thingp), name);
}

Просмотреть файл

@ -414,14 +414,6 @@ ToMarkable(Cell* cell)
return cell;
}
// Return true if the pointer is nullptr, or if it is a tagged pointer to
// nullptr.
MOZ_ALWAYS_INLINE bool
IsNullTaggedPointer(void* p)
{
return uintptr_t(p) <= LargestTaggedNullCellPointer;
}
// Wrap a GC thing pointer into a new Value or jsid. The type system enforces
// that the thing pointer is a wrappable type.
template <typename S, typename T>

Просмотреть файл

@ -305,7 +305,6 @@ class JSObject : public js::gc::Cell
static const JS::TraceKind TraceKind = JS::TraceKind::Object;
static const size_t MaxTagBits = 3;
static bool isNullLike(const JSObject* obj) { return uintptr_t(obj) < (1 << MaxTagBits); }
MOZ_ALWAYS_INLINE JS::Zone* zone() const {
return group_->zone();
@ -641,7 +640,6 @@ struct JSObject_Slots16 : JSObject { void* data[3]; js::Value fslots[16]; };
/* static */ MOZ_ALWAYS_INLINE void
JSObject::readBarrier(JSObject* obj)
{
MOZ_ASSERT_IF(obj, !isNullLike(obj));
if (obj && obj->isTenured())
obj->asTenured().readBarrier(&obj->asTenured());
}
@ -649,7 +647,6 @@ JSObject::readBarrier(JSObject* obj)
/* static */ MOZ_ALWAYS_INLINE void
JSObject::writeBarrierPre(JSObject* obj)
{
MOZ_ASSERT_IF(obj, !isNullLike(obj));
if (obj && obj->isTenured())
obj->asTenured().writeBarrierPre(&obj->asTenured());
}
@ -658,8 +655,6 @@ JSObject::writeBarrierPre(JSObject* obj)
JSObject::writeBarrierPost(void* cellp, JSObject* prev, JSObject* next)
{
MOZ_ASSERT(cellp);
MOZ_ASSERT_IF(next, !IsNullTaggedPointer(next));
MOZ_ASSERT_IF(prev, !IsNullTaggedPointer(prev));
// If the target needs an entry, add it.
js::gc::StoreBuffer* buffer;

Просмотреть файл

@ -523,7 +523,7 @@ class JSString : public js::gc::TenuredCell
}
static MOZ_ALWAYS_INLINE void writeBarrierPre(JSString* thing) {
if (isNullLike(thing) || thing->isPermanentAtom())
if (!thing || thing->isPermanentAtom())
return;
TenuredCell::writeBarrierPre(thing);

Просмотреть файл

@ -69,10 +69,6 @@ struct InternalBarrierMethods<TaggedProto>
static void readBarrier(const TaggedProto& proto);
static bool isMarkableTaggedPointer(const TaggedProto& proto) {
return proto.isObject();
}
static bool isMarkable(const TaggedProto& proto) {
return proto.isObject();
}

Просмотреть файл

@ -2159,7 +2159,7 @@ class MOZ_STACK_CLASS ModuleValidator
bool declareFuncPtrTable(Sig&& sig, PropertyName* name, uint32_t firstUse, uint32_t mask,
uint32_t* index)
{
if (mask > MaxTableLength)
if (mask > MaxTableInitialLength)
return failCurrentOffset("function pointer table too big");
uint32_t sigIndex;
if (!newSig(Move(sig), &sigIndex))

Просмотреть файл

@ -455,11 +455,12 @@ static const unsigned MaxExports = 100000;
static const unsigned MaxGlobals = 1000000;
static const unsigned MaxDataSegments = 100000;
static const unsigned MaxElemSegments = 10000000;
static const unsigned MaxTableLength = 10000000;
static const unsigned MaxTableInitialLength = 10000000;
static const unsigned MaxStringBytes = 100000;
static const unsigned MaxLocals = 50000;
static const unsigned MaxParams = 1000;
static const unsigned MaxBrTableElems = 1000000;
static const unsigned MaxMemoryInitialBytes = 1024 * 1024 * 1024;
static const unsigned MaxModuleBytes = 1024 * 1024 * 1024;
static const unsigned MaxFunctionBytes = 128 * 1024;

Просмотреть файл

@ -214,6 +214,11 @@ CodeSegment::create(JSContext* cx,
MOZ_ASSERT(linkData.globalDataLength % gc::SystemPageSize() == 0);
MOZ_ASSERT(linkData.functionCodeLength < bytecode.length());
// These should always exist and should never be first in the code segment.
MOZ_ASSERT(linkData.interruptOffset != 0);
MOZ_ASSERT(linkData.outOfBoundsOffset != 0);
MOZ_ASSERT(linkData.unalignedAccessOffset != 0);
auto cs = cx->make_unique<CodeSegment>();
if (!cs)
return nullptr;

Просмотреть файл

@ -628,6 +628,7 @@ ModuleGenerator::finishCodegen()
// Fill in LinkData with the offsets of these stubs.
linkData_.unalignedAccessOffset = unalignedAccessExit.begin;
linkData_.outOfBoundsOffset = outOfBoundsExit.begin;
linkData_.interruptOffset = interruptExit.begin;
@ -1084,7 +1085,7 @@ ModuleGenerator::initSigTableLength(uint32_t sigIndex, uint32_t length)
{
MOZ_ASSERT(isAsmJS());
MOZ_ASSERT(length != 0);
MOZ_ASSERT(length <= MaxTableLength);
MOZ_ASSERT(length <= MaxTableInitialLength);
MOZ_ASSERT(env_->asmJSSigToTableIndex[sigIndex] == 0);
env_->asmJSSigToTableIndex[sigIndex] = numTables_;

Просмотреть файл

@ -1172,6 +1172,10 @@ HandleFault(int signum, siginfo_t* info, void* ctx)
#ifdef JS_CODEGEN_ARM
if (signal == Signal::BusError) {
// TODO: We may see a bus error for something that is an unaligned access that
// partly overlaps the end of the heap. In this case, it is an out-of-bounds
// error and we should signal that properly, but to do so we must inspect
// the operand of the failed access.
*ppc = instance->codeSegment().unalignedAccessCode();
return true;
}

Просмотреть файл

@ -150,7 +150,7 @@ Table::grow(uint32_t delta, JSContext* cx)
CheckedInt<uint32_t> newLength = oldLength;
newLength += delta;
if (!newLength.isValid() || newLength.value() > MaxTableLength)
if (!newLength.isValid())
return -1;
if (maximum_ && newLength.value() > maximum_.value())

Просмотреть файл

@ -873,7 +873,7 @@ DecodeTableLimits(Decoder& d, TableDescVector* tables)
if (!DecodeLimits(d, &limits))
return false;
if (limits.initial > MaxTableLength)
if (limits.initial > MaxTableInitialLength)
return d.fail("too many table elements");
if (tables->length())
@ -933,7 +933,7 @@ DecodeMemoryLimits(Decoder& d, ModuleEnvironment* env)
CheckedInt<uint32_t> initialBytes = memory.initial;
initialBytes *= PageSize;
if (!initialBytes.isValid() || initialBytes.value() > uint32_t(INT32_MAX))
if (!initialBytes.isValid() || initialBytes.value() > MaxMemoryInitialBytes)
return d.fail("initial memory size too big");
memory.initial = initialBytes.value();
@ -1418,7 +1418,7 @@ DecodeElemSection(Decoder& d, ModuleEnvironment* env)
if (!d.readVarU32(&numElems))
return d.fail("expected segment size");
if (numElems > MaxTableLength)
if (numElems > MaxTableInitialLength)
return d.fail("too many table elements");
Uint32Vector elemFuncIndices;
@ -1564,6 +1564,9 @@ DecodeDataSection(Decoder& d, ModuleEnvironment* env)
if (!d.readVarU32(&seg.length))
return d.fail("expected segment size");
if (seg.length > MaxMemoryInitialBytes)
return d.fail("segment size too big");
seg.bytecodeOffset = d.currentOffset();
if (!d.readBytes(seg.length))

Просмотреть файл

@ -2884,7 +2884,11 @@ pref("dom.ipc.plugins.asyncdrawing.enabled", false);
pref("dom.ipc.plugins.asyncdrawing.enabled", true);
#endif
#ifdef NIGHTLY_BUILD
pref("dom.ipc.processCount", 2);
#else
pref("dom.ipc.processCount", 1);
#endif
// Disable support for SVG
pref("svg.disabled", false);

Просмотреть файл

@ -8345,25 +8345,6 @@ nsHttpChannel::ReportNetVSCacheTelemetry()
return;
}
uint32_t diskStorageSizeK = 0;
rv = mCacheEntry->GetDiskStorageSizeInKB(&diskStorageSizeK);
if (NS_FAILED(rv)) {
return;
}
nsAutoCString contentType;
if (mResponseHead && mResponseHead->HasContentType()) {
mResponseHead->ContentType(contentType);
}
bool isImage = StringBeginsWith(contentType, NS_LITERAL_CSTRING("image/"));
if (isImage) {
Telemetry::Accumulate(Telemetry::HTTP_NET_VS_CACHE_ONSTART_ISIMG, onStartDiff);
Telemetry::Accumulate(Telemetry::HTTP_NET_VS_CACHE_ONSTOP_ISIMG, onStopDiff);
} else {
Telemetry::Accumulate(Telemetry::HTTP_NET_VS_CACHE_ONSTART_NOTIMG, onStartDiff);
Telemetry::Accumulate(Telemetry::HTTP_NET_VS_CACHE_ONSTOP_NOTIMG, onStopDiff);
}
if (mCacheOpenWithPriority) {
if (mCacheQueueSizeWhenOpen < 5) {
Telemetry::Accumulate(Telemetry::HTTP_NET_VS_CACHE_ONSTART_QSMALL_HIGHPRI, onStartDiff);
@ -8388,30 +8369,17 @@ nsHttpChannel::ReportNetVSCacheTelemetry()
}
}
if (diskStorageSizeK < 32) {
if (mCacheOpenWithPriority) {
Telemetry::Accumulate(Telemetry::HTTP_NET_VS_CACHE_ONSTART_SMALL_HIGHPRI, onStartDiff);
Telemetry::Accumulate(Telemetry::HTTP_NET_VS_CACHE_ONSTOP_SMALL_HIGHPRI, onStopDiff);
} else {
Telemetry::Accumulate(Telemetry::HTTP_NET_VS_CACHE_ONSTART_SMALL_NORMALPRI, onStartDiff);
Telemetry::Accumulate(Telemetry::HTTP_NET_VS_CACHE_ONSTOP_SMALL_NORMALPRI, onStopDiff);
}
} else if (diskStorageSizeK < 256) {
if (mCacheOpenWithPriority) {
Telemetry::Accumulate(Telemetry::HTTP_NET_VS_CACHE_ONSTART_MED_HIGHPRI, onStartDiff);
Telemetry::Accumulate(Telemetry::HTTP_NET_VS_CACHE_ONSTOP_MED_HIGHPRI, onStopDiff);
} else {
Telemetry::Accumulate(Telemetry::HTTP_NET_VS_CACHE_ONSTART_MED_NORMALPRI, onStartDiff);
Telemetry::Accumulate(Telemetry::HTTP_NET_VS_CACHE_ONSTOP_MED_NORMALPRI, onStopDiff);
}
uint32_t diskStorageSizeK = 0;
rv = mCacheEntry->GetDiskStorageSizeInKB(&diskStorageSizeK);
if (NS_FAILED(rv)) {
return;
}
// No significant difference was observed between different sizes for |onStartDiff|
if (diskStorageSizeK < 256) {
Telemetry::Accumulate(Telemetry::HTTP_NET_VS_CACHE_ONSTOP_SMALL, onStopDiff);
} else {
if (mCacheOpenWithPriority) {
Telemetry::Accumulate(Telemetry::HTTP_NET_VS_CACHE_ONSTART_LARGE_HIGHPRI, onStartDiff);
Telemetry::Accumulate(Telemetry::HTTP_NET_VS_CACHE_ONSTOP_LARGE_HIGHPRI, onStopDiff);
} else {
Telemetry::Accumulate(Telemetry::HTTP_NET_VS_CACHE_ONSTART_LARGE_NORMALPRI, onStartDiff);
Telemetry::Accumulate(Telemetry::HTTP_NET_VS_CACHE_ONSTOP_LARGE_NORMALPRI, onStopDiff);
}
Telemetry::Accumulate(Telemetry::HTTP_NET_VS_CACHE_ONSTOP_LARGE, onStopDiff);
}
}

Просмотреть файл

@ -39,6 +39,8 @@
#include "nsIOService.h"
#include "nsIRequestContext.h"
#include "nsIHttpAuthenticator.h"
#include "NSSErrorsService.h"
#include "sslerr.h"
#include <algorithm>
#ifdef MOZ_WIDGET_GONK
@ -943,7 +945,9 @@ nsHttpTransaction::Close(nsresult reason)
// connection. It will break that connection and also confuse the channel's
// auth provider, beliving the cached credentials are wrong and asking for
// the password mistakenly again from the user.
if ((reason == NS_ERROR_NET_RESET || reason == NS_OK) &&
if ((reason == NS_ERROR_NET_RESET ||
reason == NS_OK ||
reason == psm::GetXPCOMFromNSSError(SSL_ERROR_DOWNGRADE_WITH_EARLY_DATA)) &&
!(mCaps & NS_HTTP_STICKY_CONNECTION)) {
if (mForceRestart && NS_SUCCEEDED(Restart())) {
@ -972,9 +976,10 @@ nsHttpTransaction::Close(nsresult reason)
bool reallySentData =
mSentData && (!mConnection || mConnection->BytesWritten());
if (!mReceivedData &&
if (reason == psm::GetXPCOMFromNSSError(SSL_ERROR_DOWNGRADE_WITH_EARLY_DATA) ||
(!mReceivedData &&
((mRequestHead && mRequestHead->IsSafeMethod()) ||
!reallySentData || connReused)) {
!reallySentData || connReused))) {
// if restarting fails, then we must proceed to close the pipe,
// which will notify the channel that the transaction failed.

Просмотреть файл

@ -45,7 +45,7 @@ EXTRA_PP_JS_MODULES['services-sync'] += [
]
# Definitions used by constants.js
DEFINES['weave_version'] = '1.55.0'
DEFINES['weave_version'] = '1.56.0'
DEFINES['weave_id'] = '{340c2bbc-ce74-4362-90b5-7c26312808ef}'
EXTRA_JS_MODULES['services-sync'].engines += [

Просмотреть файл

@ -11,6 +11,7 @@ tags = local
tags = local
[test_safe_browsing_initial_download.py]
[test_safe_browsing_notification.py]
skip-if = e10s # Bug 1315042
[test_safe_browsing_warning_pages.py]
[test_security_notification.py]
[test_ssl_disabled_error_page.py]

Просмотреть файл

@ -88,7 +88,8 @@ add_task(function* test_cookies() {
browser.test.assertEq(1, stores[0].tabIds.length, "one tabId returned for store");
browser.test.assertEq("number", typeof stores[0].tabIds[0], "tabId is a number");
{
// This part causes intermittent failures see Bug 1309637.
if (false) {
let privateWindow = await browser.windows.create({incognito: true});
let stores = await browser.cookies.getAllCookieStores();
@ -179,7 +180,8 @@ add_task(function* test_cookies() {
browser.test.assertEq("", cookie.value, "default value set");
browser.test.assertEq(true, cookie.session, "no expiry date created session cookie");
{
// This part causes intermittent failures see Bug 1309637.
if (false) {
let privateWindow = await browser.windows.create({incognito: true});
// Hacky work-around for bugzil.la/1309637

Просмотреть файл

@ -7,6 +7,12 @@
"use strict";
add_task(function* setup() {
yield SpecialPowers.pushPrefEnv({
set: [["dom.ipc.processCount", 1]]
});
});
/**
* Open the requestAutocomplete UI and test that selecting a profile results in
* the correct data being sent back to the opener.

Просмотреть файл

@ -45,6 +45,7 @@ support-files =
[browser_formless_submit_chrome.js]
[browser_hasInsecureLoginForms.js]
[browser_hasInsecureLoginForms_streamConverter.js]
skip-if = e10s # Bug 1315042
[browser_http_autofill.js]
[browser_insecurePasswordWarning.js]
[browser_notifications.js]

Просмотреть файл

@ -1738,42 +1738,6 @@
"n_values": 12,
"description": "Whether the URL gets redirected? (0=200, 1=301, 2=302, 3=304, 4=307, 5=308, 6=400, 7=401, 8=403, 9=404, 10=500, 11=other)"
},
"HTTP_NET_VS_CACHE_ONSTART_ISIMG": {
"expires_in_version": "58",
"alert_emails": ["necko@mozilla.com"],
"bug_numbers": [1313095],
"kind": "linear",
"high": 1000,
"n_buckets": 100,
"description": "Network vs cache time load (OnStartRequest) difference (ms) for images. Offset by 500 ms."
},
"HTTP_NET_VS_CACHE_ONSTART_NOTIMG": {
"expires_in_version": "58",
"alert_emails": ["necko@mozilla.com"],
"bug_numbers": [1313095],
"kind": "linear",
"high": 1000,
"n_buckets": 100,
"description": "Network vs cache time load (OnStartRequest) difference (ms) for non-images. Offset by 500 ms."
},
"HTTP_NET_VS_CACHE_ONSTOP_ISIMG": {
"expires_in_version": "58",
"alert_emails": ["necko@mozilla.com"],
"bug_numbers": [1313095],
"kind": "linear",
"high": 1000,
"n_buckets": 100,
"description": "Network vs cache time load (OnStopRequest) difference (ms) for images. Offset by 500 ms."
},
"HTTP_NET_VS_CACHE_ONSTOP_NOTIMG": {
"expires_in_version": "58",
"alert_emails": ["necko@mozilla.com"],
"bug_numbers": [1313095],
"kind": "linear",
"high": 1000,
"n_buckets": 100,
"description": "Network vs cache time load (OnStopRequest) difference (ms) for non-images. Offset by 500 ms."
},
"HTTP_NET_VS_CACHE_ONSTART_QSMALL_NORMALPRI": {
"expires_in_version": "58",
"alert_emails": ["necko@mozilla.com"],
@ -1882,113 +1846,23 @@
"n_buckets": 100,
"description": "Network vs cache time load (OnStopRequest) difference (ms) for requests with a high priority and large queue. Offset by 500 ms."
},
"HTTP_NET_VS_CACHE_ONSTART_SMALL_NORMALPRI": {
"HTTP_NET_VS_CACHE_ONSTOP_SMALL": {
"expires_in_version": "58",
"alert_emails": ["necko@mozilla.com"],
"bug_numbers": [1313095],
"bug_numbers": [1325090],
"kind": "linear",
"high": 1000,
"n_buckets": 100,
"description": "Network vs cache time load (OnStartRequest) difference (ms) for cache files with a small size (<32K) and normal priority. Offset by 500 ms."
"description": "Network vs cache time load (OnStopRequest) difference (ms) for cache files with a small size (<256K). Offset by 500 ms."
},
"HTTP_NET_VS_CACHE_ONSTART_MED_NORMALPRI": {
"HTTP_NET_VS_CACHE_ONSTOP_LARGE": {
"expires_in_version": "58",
"alert_emails": ["necko@mozilla.com"],
"bug_numbers": [1313095],
"bug_numbers": [1325090],
"kind": "linear",
"high": 1000,
"n_buckets": 100,
"description": "Network vs cache time load (OnStartRequest) difference (ms) for cache files with a medium size (<256K) and normal priority. Offset by 500 ms."
},
"HTTP_NET_VS_CACHE_ONSTART_LARGE_NORMALPRI": {
"expires_in_version": "58",
"alert_emails": ["necko@mozilla.com"],
"bug_numbers": [1313095],
"kind": "linear",
"high": 1000,
"n_buckets": 100,
"description": "Network vs cache time load (OnStartRequest) difference (ms) for cache files with a large size (>256K) and normal priority. Offset by 500 ms."
},
"HTTP_NET_VS_CACHE_ONSTART_SMALL_HIGHPRI": {
"expires_in_version": "58",
"alert_emails": ["necko@mozilla.com"],
"bug_numbers": [1313095],
"kind": "linear",
"high": 1000,
"n_buckets": 100,
"description": "Network vs cache time load (OnStartRequest) difference (ms) for cache files with a small size (<32K) and high priority. Offset by 500 ms."
},
"HTTP_NET_VS_CACHE_ONSTART_MED_HIGHPRI": {
"expires_in_version": "58",
"alert_emails": ["necko@mozilla.com"],
"bug_numbers": [1313095],
"kind": "linear",
"high": 1000,
"n_buckets": 100,
"description": "Network vs cache time load (OnStartRequest) difference (ms) for cache files with a medium size (<256K) and high priority. Offset by 500 ms."
},
"HTTP_NET_VS_CACHE_ONSTART_LARGE_HIGHPRI": {
"expires_in_version": "58",
"alert_emails": ["necko@mozilla.com"],
"bug_numbers": [1313095],
"kind": "linear",
"high": 1000,
"n_buckets": 100,
"description": "Network vs cache time load (OnStartRequest) difference (ms) for cache files with a large size (>256K) and high priority. Offset by 500 ms."
},
"HTTP_NET_VS_CACHE_ONSTOP_SMALL_NORMALPRI": {
"expires_in_version": "58",
"alert_emails": ["necko@mozilla.com"],
"bug_numbers": [1313095],
"kind": "linear",
"high": 1000,
"n_buckets": 100,
"description": "Network vs cache time load (OnStopRequest) difference (ms) for cache files with a small size (<32K) and normal priority. Offset by 500 ms."
},
"HTTP_NET_VS_CACHE_ONSTOP_MED_NORMALPRI": {
"expires_in_version": "58",
"alert_emails": ["necko@mozilla.com"],
"bug_numbers": [1313095],
"kind": "linear",
"high": 1000,
"n_buckets": 100,
"description": "Network vs cache time load (OnStopRequest) difference (ms) for cache files with a medium size (<256K) and normal priority. Offset by 500 ms."
},
"HTTP_NET_VS_CACHE_ONSTOP_LARGE_NORMALPRI": {
"expires_in_version": "58",
"alert_emails": ["necko@mozilla.com"],
"bug_numbers": [1313095],
"kind": "linear",
"high": 1000,
"n_buckets": 100,
"description": "Network vs cache time load (OnStopRequest) difference (ms) for cache files with a large size (>256K) and normal priority. Offset by 500 ms."
},
"HTTP_NET_VS_CACHE_ONSTOP_SMALL_HIGHPRI": {
"expires_in_version": "58",
"alert_emails": ["necko@mozilla.com"],
"bug_numbers": [1313095],
"kind": "linear",
"high": 1000,
"n_buckets": 100,
"description": "Network vs cache time load (OnStopRequest) difference (ms) for cache files with a small size (<32K) and high priority. Offset by 500 ms."
},
"HTTP_NET_VS_CACHE_ONSTOP_MED_HIGHPRI": {
"expires_in_version": "58",
"alert_emails": ["necko@mozilla.com"],
"bug_numbers": [1313095],
"kind": "linear",
"high": 1000,
"n_buckets": 100,
"description": "Network vs cache time load (OnStopRequest) difference (ms) for cache files with a medium size (<256K) and high priority. Offset by 500 ms."
},
"HTTP_NET_VS_CACHE_ONSTOP_LARGE_HIGHPRI": {
"expires_in_version": "58",
"alert_emails": ["necko@mozilla.com"],
"bug_numbers": [1313095],
"kind": "linear",
"high": 1000,
"n_buckets": 100,
"description": "Network vs cache time load (OnStopRequest) difference (ms) for cache files with a large size (>256K) and high priority. Offset by 500 ms."
"description": "Network vs cache time load (OnStopRequest) difference (ms) for cache files with a large size (>=256K). Offset by 500 ms."
},
"HTTP_NET_VS_CACHE_ONSTART_REVALIDATED": {
"expires_in_version": "58",

Просмотреть файл

@ -65,3 +65,4 @@ skip-if = buildapp == 'mulet'
skip-if = buildapp == 'mulet'
[browser_webext_options.js]
tags = webextensions
skip-if = e10s # Bug 1315042

Просмотреть файл

@ -22,7 +22,7 @@ namespace mozilla {
*/
struct Module
{
static const unsigned int kVersion = 53;
static const unsigned int kVersion = 54;
struct CIDEntry;