зеркало из https://github.com/mozilla/gecko-dev.git
Backed out 2 changesets (bug 1365643) for frequent failures in browser_forget_async_closings.js on Windows a=backout CLOSED TREE
Backed out changeset c5e8b08a4635 (bug 1365643) Backed out changeset 9377a56fe004 (bug 1365643)
This commit is contained in:
Родитель
ea40157e54
Коммит
e423d726ed
|
@ -22,6 +22,7 @@ namespace browser {
|
||||||
NS_IMPL_ISUPPORTS(AboutRedirector, nsIAboutModule)
|
NS_IMPL_ISUPPORTS(AboutRedirector, nsIAboutModule)
|
||||||
|
|
||||||
bool AboutRedirector::sUseOldPreferences = false;
|
bool AboutRedirector::sUseOldPreferences = false;
|
||||||
|
bool AboutRedirector::sActivityStreamEnabled = false;
|
||||||
|
|
||||||
struct RedirEntry {
|
struct RedirEntry {
|
||||||
const char* id;
|
const char* id;
|
||||||
|
@ -206,8 +207,26 @@ AboutRedirector::GetURIFlags(nsIURI *aURI, uint32_t *result)
|
||||||
|
|
||||||
nsAutoCString name = GetAboutModuleName(aURI);
|
nsAutoCString name = GetAboutModuleName(aURI);
|
||||||
|
|
||||||
|
static bool sASEnabledCacheInited = false;
|
||||||
|
if (!sASEnabledCacheInited) {
|
||||||
|
Preferences::AddBoolVarCache(&sActivityStreamEnabled,
|
||||||
|
"browser.newtabpage.activity-stream.enabled");
|
||||||
|
sASEnabledCacheInited = true;
|
||||||
|
}
|
||||||
|
|
||||||
for (auto & redir : kRedirMap) {
|
for (auto & redir : kRedirMap) {
|
||||||
if (name.Equals(redir.id)) {
|
if (name.Equals(redir.id)) {
|
||||||
|
|
||||||
|
// Once ActivityStream is fully rolled out and we've removed Tiles,
|
||||||
|
// this special case can go away and the flag can just become part
|
||||||
|
// of the normal about:newtab entry in kRedirMap.
|
||||||
|
if (name.EqualsLiteral("newtab")) {
|
||||||
|
if (sActivityStreamEnabled) {
|
||||||
|
*result = redir.flags | nsIAboutModule::URI_MUST_LOAD_IN_CHILD;
|
||||||
|
return NS_OK;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
*result = redir.flags;
|
*result = redir.flags;
|
||||||
return NS_OK;
|
return NS_OK;
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,6 +27,7 @@ protected:
|
||||||
|
|
||||||
private:
|
private:
|
||||||
static bool sUseOldPreferences;
|
static bool sUseOldPreferences;
|
||||||
|
static bool sActivityStreamEnabled;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace browser
|
} // namespace browser
|
||||||
|
|
|
@ -11,6 +11,8 @@ EXPORTS.mozilla.browser += [
|
||||||
'AboutRedirector.h',
|
'AboutRedirector.h',
|
||||||
]
|
]
|
||||||
|
|
||||||
|
XPCSHELL_TESTS_MANIFESTS += ['test/unit/xpcshell.ini']
|
||||||
|
|
||||||
SOURCES += [
|
SOURCES += [
|
||||||
'AboutRedirector.cpp',
|
'AboutRedirector.cpp',
|
||||||
]
|
]
|
||||||
|
|
|
@ -0,0 +1,33 @@
|
||||||
|
const {classes: Cc, interfaces: Ci, utils: Cu} = Components;
|
||||||
|
|
||||||
|
Cu.import("resource://gre/modules/Services.jsm");
|
||||||
|
|
||||||
|
const contract = "@mozilla.org/network/protocol/about;1?what=newtab";
|
||||||
|
const am = Cc[contract].getService(Ci.nsIAboutModule);
|
||||||
|
const uri = Services.io.newURI("about:newtab");
|
||||||
|
|
||||||
|
function run_test() {
|
||||||
|
test_AS_enabled_flags();
|
||||||
|
test_AS_disabled_flags();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Since tiles isn't e10s capable, it shouldn't advertise that it can load in
|
||||||
|
// the child.
|
||||||
|
function test_AS_disabled_flags() {
|
||||||
|
Services.prefs.setBoolPref("browser.newtabpage.activity-stream.enabled",
|
||||||
|
false);
|
||||||
|
|
||||||
|
let flags = am.getURIFlags(uri);
|
||||||
|
|
||||||
|
ok(!(flags & Ci.nsIAboutModule.URI_MUST_LOAD_IN_CHILD));
|
||||||
|
}
|
||||||
|
|
||||||
|
// Activity Stream, however, is e10s-capable, and should advertise it.
|
||||||
|
function test_AS_enabled_flags() {
|
||||||
|
Services.prefs.setBoolPref("browser.newtabpage.activity-stream.enabled",
|
||||||
|
true);
|
||||||
|
|
||||||
|
let flags = am.getURIFlags(uri);
|
||||||
|
|
||||||
|
ok(flags & Ci.nsIAboutModule.URI_MUST_LOAD_IN_CHILD);
|
||||||
|
}
|
|
@ -0,0 +1,6 @@
|
||||||
|
[DEFAULT]
|
||||||
|
head =
|
||||||
|
# make the firefox services (eg newtab-service) available to xpcshell
|
||||||
|
firefox-appdir = browser
|
||||||
|
|
||||||
|
[test_getURIFlags.js]
|
|
@ -242,12 +242,7 @@ add_task(async function test_preload_crash() {
|
||||||
// Create a fresh preloaded browser
|
// Create a fresh preloaded browser
|
||||||
gBrowser._createPreloadBrowser();
|
gBrowser._createPreloadBrowser();
|
||||||
|
|
||||||
// XXX Temporarily disabled until bug 1365643 relands. At that time, this
|
await BrowserTestUtils.crashBrowser(gBrowser._preloadedBrowser, false);
|
||||||
// this statement, as well as the eslint-disable-line below, should be
|
|
||||||
// removed.
|
|
||||||
return;
|
|
||||||
|
|
||||||
await BrowserTestUtils.crashBrowser(gBrowser._preloadedBrowser, false); // eslint-disable-line no-unreachable
|
|
||||||
|
|
||||||
Assert.ok(!gBrowser._preloadedBrowser);
|
Assert.ok(!gBrowser._preloadedBrowser);
|
||||||
});
|
});
|
||||||
|
|
Загрузка…
Ссылка в новой задаче