Backed out 2 changesets (bug 1804140) for causing webdriver failures. CLOSED TREE
Backed out changeset 974558fd2790 (bug 1804140) Backed out changeset dbe9d2f66fcc (bug 1804140)
This commit is contained in:
@@ -509,8 +509,8 @@ class nsDocShell final : public nsDocLoader,
|
||||
already_AddRefed<nsIInputStream> GetPostDataFromCurrentEntry() const;
|
||||
mozilla::Maybe<uint32_t> GetCacheKeyFromCurrentEntry() const;
|
||||
|
||||
// Loading and/or active entries are only set when session history
|
||||
// in the parent is on.
|
||||
// Loading and/or active entries are only set when pref
|
||||
// fission.sessionHistoryInParent is on.
|
||||
bool FillLoadStateFromCurrentEntry(nsDocShellLoadState& aLoadState);
|
||||
|
||||
static bool ShouldAddToSessionHistory(nsIURI* aURI, nsIChannel* aChannel);
|
||||
|
||||
@@ -14,13 +14,6 @@
|
||||
|
||||
<script type="application/javascript"><![CDATA[
|
||||
|
||||
const { BrowserTestUtils } = ChromeUtils.importESModule(
|
||||
"resource://testing-common/BrowserTestUtils.sys.mjs"
|
||||
);
|
||||
const { ContentTask } = ChromeUtils.import(
|
||||
"resource://testing-common/ContentTask.jsm"
|
||||
);
|
||||
|
||||
var fm = Cc["@mozilla.org/focus-manager;1"].
|
||||
getService(Ci.nsIFocusManager);
|
||||
|
||||
@@ -1513,41 +1506,18 @@ function doFrameSwitchingTests()
|
||||
|
||||
function doFrameHistoryTests()
|
||||
{
|
||||
let frame = $("childframe");
|
||||
frame.setAttribute("maychangeremoteness", "true");
|
||||
let loaded = BrowserTestUtils.browserLoaded(frame, true);
|
||||
let firstLocation = "https://example.org/chrome/dom/tests/mochitest/chrome/child_focus_frame.html";
|
||||
frame.src = firstLocation;
|
||||
loaded.then(() => {
|
||||
return ContentTask.spawn(frame, {}, () => {
|
||||
let fm = Cc["@mozilla.org/focus-manager;1"].getService(Ci.nsIFocusManager);
|
||||
let t20 = content.document.getElementById("t20");
|
||||
var t20 = getById("t20");
|
||||
t20.focus();
|
||||
let goneBack = new Promise(resolve => {
|
||||
content.addEventListener("pageshow", ({ persisted }) => {
|
||||
resolve({ location: content.location.href, persisted });
|
||||
}, { once: true });
|
||||
});
|
||||
// make sure that loading a new page and then going back maintains the focus
|
||||
content.location = "data:text/html,<script>window.onload=function() {setTimeout(function () { history.back() }, 0);}</script>";
|
||||
return goneBack;
|
||||
});
|
||||
}).then(({ location, persisted }) => {
|
||||
is(location, firstLocation, "should go back to the right page");
|
||||
ok(persisted, "test relies on BFCache");
|
||||
return ContentTask.spawn(frame, {}, () => {
|
||||
let fm = Cc["@mozilla.org/focus-manager;1"].getService(Ci.nsIFocusManager);
|
||||
let t20 = content.document.getElementById("t20");
|
||||
return fm.focusedElement === t20;
|
||||
});
|
||||
}).then((focusCorrect) => {
|
||||
if (SpecialPowers.Services.appinfo.sessionHistoryInParent) {
|
||||
todo(focusCorrect, "focus restored after history back");
|
||||
} else {
|
||||
ok(focusCorrect, "focus restored after history back");
|
||||
|
||||
gChildWindow.addEventListener("focus",
|
||||
function(event) {
|
||||
if (event.target == t20) {
|
||||
is(fm.focusedElement, t20, "focus restored after history back"); done();
|
||||
}
|
||||
done();
|
||||
});
|
||||
}, true);
|
||||
|
||||
// make sure that loading a new page and then going back maintains the focus
|
||||
gChildWindow.location = "data:text/html,<script>window.onload=function() {setTimeout(function () { history.back() }, 0);}</script>";
|
||||
}
|
||||
|
||||
function addFrameSwitchingListeners(frame)
|
||||
|
||||
@@ -37,11 +37,7 @@ function runTest() {
|
||||
var webrenderWindows = 0;
|
||||
var layerManagerLog = [];
|
||||
while (windows.hasMoreElements()) {
|
||||
try {
|
||||
windowutils = windows.getNext().windowUtils;
|
||||
} catch (e) {
|
||||
todo(false, "Bug X - don't expose BFCached pages through window enumerator");
|
||||
}
|
||||
try {
|
||||
var layerManager = windowutils.layerManagerType;
|
||||
if (layerManager != "Basic" && layerManager != "WebRender (Software)") {
|
||||
|
||||
@@ -5137,11 +5137,11 @@
|
||||
value: true
|
||||
mirror: always
|
||||
|
||||
# Disable storing the session history in the parent process, and accessing it
|
||||
# over IPC from the child processes.
|
||||
- name: fission.disableSessionHistoryInParent
|
||||
# Store the session history in the parent process, and access it over IPC
|
||||
# from the child processes.
|
||||
- name: fission.sessionHistoryInParent
|
||||
type: bool
|
||||
value: @IS_ANDROID@
|
||||
value: false
|
||||
mirror: once
|
||||
do_not_use_directly: true
|
||||
|
||||
|
||||
@@ -28,5 +28,6 @@ https_first_disabled = true
|
||||
[browser_exceptionThrown.js]
|
||||
https_first_disabled = true
|
||||
[browser_executionContextEvents.js]
|
||||
skip-if = !fission # TODO: Remove when SHIP is enabled for non-Fission (bug 1736121)
|
||||
[browser_getProperties.js]
|
||||
[browser_remoteObjects.js]
|
||||
|
||||
@@ -3320,10 +3320,7 @@ toolbar#nav-bar {
|
||||
# overridden with --setpref).
|
||||
"serviceworker_e10s": True,
|
||||
"sessionHistoryInParent": not options.disable_fission
|
||||
or not self.extraPrefs.get(
|
||||
"fission.disableSessionHistoryInParent",
|
||||
mozinfo.info["os"] == "android",
|
||||
),
|
||||
or self.extraPrefs.get("fission.sessionHistoryInParent", False),
|
||||
"socketprocess_e10s": self.extraPrefs.get(
|
||||
"network.process.enabled", False
|
||||
),
|
||||
|
||||
@@ -2,6 +2,9 @@
|
||||
prefs: [docshell.shistory.bfcache.ship_allow_beforeunload_listeners:true]
|
||||
expected:
|
||||
if (os == "android") and fission: [OK, TIMEOUT]
|
||||
[beforeunload]
|
||||
expected:
|
||||
if not fission and (os == "linux"): PRECONDITION_FAILED
|
||||
|
||||
[unload]
|
||||
expected:
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
[srcdoc-history-entries.html]
|
||||
expected:
|
||||
if (os == "linux") and not fission: TIMEOUT
|
||||
[srcdoc history entries: the container window navigates]
|
||||
expected:
|
||||
if (os == "linux") and not fission: TIMEOUT
|
||||
@@ -1,20 +1,22 @@
|
||||
[iframe-src-204-fragment.html]
|
||||
[src]
|
||||
expected:
|
||||
if (os == "win") and debug and (processor == "x86_64") and not swgl: [FAIL, PASS]
|
||||
if (os == "win") and debug and (processor == "x86_64") and swgl: [PASS, FAIL]
|
||||
if (os == "win") and debug and (processor == "x86"): [PASS, FAIL]
|
||||
if (os == "linux") and debug: [PASS, FAIL]
|
||||
if (os == "linux") and not debug: [FAIL, PASS]
|
||||
if (os == "win") and not debug: [PASS, FAIL]
|
||||
if (os == "mac"): [PASS, FAIL]
|
||||
if fission and (os == "win") and debug and (processor == "x86_64") and not swgl: [FAIL, PASS]
|
||||
if fission and (os == "win") and debug and (processor == "x86_64") and swgl: [PASS, FAIL]
|
||||
if fission and (os == "win") and debug and (processor == "x86"): [PASS, FAIL]
|
||||
if fission and (os == "linux") and debug: [PASS, FAIL]
|
||||
if fission and (os == "linux") and not debug: [FAIL, PASS]
|
||||
if fission and (os == "win") and not debug: [PASS, FAIL]
|
||||
if fission and (os == "mac"): [PASS, FAIL]
|
||||
FAIL
|
||||
|
||||
[location.href]
|
||||
expected:
|
||||
if (os == "win") and debug and (processor == "x86_64") and not swgl: [FAIL, PASS]
|
||||
if (os == "linux") and not debug: [FAIL, PASS]
|
||||
if fission and (os == "win") and debug and (processor == "x86_64") and not swgl: [FAIL, PASS]
|
||||
if fission and (os == "linux") and not debug: [FAIL, PASS]
|
||||
if not fission and swgl and (os == "linux"): [FAIL, PASS]
|
||||
if not fission and swgl and (os == "android"): FAIL
|
||||
if not fission and not swgl: FAIL
|
||||
[PASS, FAIL]
|
||||
|
||||
[location.assign]
|
||||
|
||||
@@ -3,4 +3,4 @@
|
||||
if (os == "android") and fission: [OK, TIMEOUT]
|
||||
[Anchor with a fragment href and a click handler that navigates back]
|
||||
expected:
|
||||
if (os == "android") and not fission: FAIL
|
||||
if not fission: FAIL
|
||||
|
||||
@@ -7,8 +7,8 @@
|
||||
|
||||
[cross-document traversals in the same (back) direction: the result is going -2 with only one load event]
|
||||
expected:
|
||||
if (os == "android") and not fission: FAIL
|
||||
if not fission: FAIL
|
||||
|
||||
[cross-document traversals in the same (forward) direction: the result is going +2 with only one load event]
|
||||
expected:
|
||||
if (os == "android") and not fission: FAIL
|
||||
if not fission: FAIL
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
[cross-document-traversal-same-document-traversal.html]
|
||||
[traversals in the same (back) direction: coalesced]
|
||||
expected:
|
||||
if (os == "android") and not fission: FAIL
|
||||
if not fission: FAIL
|
||||
|
||||
[traversals in the same (forward) direction: coalesced]
|
||||
expected:
|
||||
if (os == "android") and not fission: FAIL
|
||||
if not fission: FAIL
|
||||
|
||||
@@ -1,23 +1,23 @@
|
||||
[same-document-traversal-same-document-traversal-hashchange.html]
|
||||
expected:
|
||||
if (os == "android") and not fission: OK
|
||||
if not fission: OK
|
||||
TIMEOUT
|
||||
[same-document traversals in opposite directions: queued up]
|
||||
expected:
|
||||
if (os == "android") and not fission: PASS
|
||||
if not fission: PASS
|
||||
TIMEOUT
|
||||
|
||||
[same-document traversals in opposite directions, second traversal invalid at queuing time: queued up]
|
||||
expected:
|
||||
if (os == "android") and not fission: PASS
|
||||
if not fission: PASS
|
||||
NOTRUN
|
||||
|
||||
[same-document traversals in the same (back) direction: queue up]
|
||||
expected:
|
||||
if (os == "android") and not fission: PASS
|
||||
if not fission: PASS
|
||||
NOTRUN
|
||||
|
||||
[same-document traversals in the same (forward) direction: queue up]
|
||||
expected:
|
||||
if (os == "android") and not fission: PASS
|
||||
if not fission: PASS
|
||||
NOTRUN
|
||||
|
||||
@@ -1,23 +1,23 @@
|
||||
[same-document-traversal-same-document-traversal-pushstate.html]
|
||||
expected:
|
||||
if (os == "android") and not fission: OK
|
||||
if not fission: OK
|
||||
TIMEOUT
|
||||
[same-document traversals in opposite directions: queued up]
|
||||
expected:
|
||||
if (os == "android") and not fission: PASS
|
||||
if not fission: PASS
|
||||
TIMEOUT
|
||||
|
||||
[same-document traversals in opposite directions, second traversal invalid at queuing time: queued up]
|
||||
expected:
|
||||
if (os == "android") and not fission: PASS
|
||||
if not fission: PASS
|
||||
NOTRUN
|
||||
|
||||
[same-document traversals in the same (back) direction: queue up]
|
||||
expected:
|
||||
if (os == "android") and not fission: PASS
|
||||
if not fission: PASS
|
||||
NOTRUN
|
||||
|
||||
[same-document traversals in the same (forward) direction: queue up]
|
||||
expected:
|
||||
if (os == "android") and not fission: PASS
|
||||
if not fission: PASS
|
||||
NOTRUN
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
[forward-triggers-hashchange.html]
|
||||
bug:
|
||||
if (os == "android") and not fission: https://bugzilla.mozilla.org/show_bug.cgi?id=1712641
|
||||
if not fission: https://bugzilla.mozilla.org/show_bug.cgi?id=1712641
|
||||
expected:
|
||||
if fission and (os == "android"): [OK, TIMEOUT]
|
||||
if (os == "android") and not fission: TIMEOUT
|
||||
if not fission: TIMEOUT
|
||||
[Navigating forward after replace() should still trigger hashchange]
|
||||
bug:
|
||||
if (os == "android") and not fission: https://bugzilla.mozilla.org/show_bug.cgi?id=1712641
|
||||
if not fission: https://bugzilla.mozilla.org/show_bug.cgi?id=1712641
|
||||
expected:
|
||||
if (os == "android") and not fission: TIMEOUT
|
||||
if not fission: TIMEOUT
|
||||
|
||||
@@ -1,21 +1,18 @@
|
||||
[005.html]
|
||||
[<body onpopstate="..."> should register a listener for the popstate event]
|
||||
bug:
|
||||
if (os == "linux"): https://bugzilla.mozilla.org/show_bug.cgi?id=1668853
|
||||
if (os == "win") and debug: https://bugzilla.mozilla.org/show_bug.cgi?id=1668853
|
||||
if fission and (os == "linux"): https://bugzilla.mozilla.org/show_bug.cgi?id=1668853
|
||||
if fission and (os == "win") and debug: https://bugzilla.mozilla.org/show_bug.cgi?id=1668853
|
||||
expected:
|
||||
if (os == "win") and debug and not swgl: [PASS, FAIL]
|
||||
if (os == "win") and debug and swgl: [PASS, FAIL]
|
||||
if (os == "mac") and debug: [PASS, FAIL]
|
||||
if (os == "linux"): [PASS, FAIL]
|
||||
if fission and (os == "win") and debug and not swgl: [PASS, FAIL]
|
||||
if fission and (os == "win") and debug and swgl: [PASS, FAIL]
|
||||
if fission and (os == "mac") and debug: [PASS, FAIL]
|
||||
if fission and (os == "linux"): [PASS, FAIL]
|
||||
|
||||
[window.onpopstate should register a listener for the popstate event]
|
||||
bug:
|
||||
if (os == "mac") and debug: https://bugzilla.mozilla.org/show_bug.cgi?id=1692852
|
||||
if (os == "win") and debug: https://bugzilla.mozilla.org/show_bug.cgi?id=1692852
|
||||
if (os == "linux") and debug: https://bugzilla.mozilla.org/show_bug.cgi?id=1692852
|
||||
if (os == "android") and fission and debug: https://bugzilla.mozilla.org/show_bug.cgi?id=1692852
|
||||
if fission and debug: https://bugzilla.mozilla.org/show_bug.cgi?id=1692852
|
||||
expected:
|
||||
if (os == "win") and debug: [PASS, FAIL]
|
||||
if (os == "mac") and debug: [PASS, FAIL]
|
||||
if (os == "linux"): [PASS, FAIL]
|
||||
if fission and (os == "win") and debug: [PASS, FAIL]
|
||||
if fission and (os == "mac") and debug: [PASS, FAIL]
|
||||
if fission and (os == "linux"): [PASS, FAIL]
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
[traverse-during-unload.html]
|
||||
[Traversing the history during unload]
|
||||
expected:
|
||||
if (os == "linux") and not debug and (processor == "x86_64"): [PASS, FAIL]
|
||||
if (os == "linux") and not debug and (processor == "x86"): [PASS, FAIL]
|
||||
if (os == "linux") and debug: [PASS, FAIL]
|
||||
if (os == "linux") and fission and not debug and (processor == "x86_64"): [PASS, FAIL]
|
||||
if (os == "linux") and fission and not debug and (processor == "x86"): [PASS, FAIL]
|
||||
if (os == "linux") and fission and debug: [PASS, FAIL]
|
||||
if os == "win": PASS
|
||||
if os == "mac": PASS
|
||||
FAIL
|
||||
|
||||
@@ -10,10 +10,10 @@
|
||||
|
||||
[Test that cross-site iframe navigations are not observable by the parent, even after history navigations by the parent]
|
||||
expected:
|
||||
if (os == "android"): PASS
|
||||
if not fission: PASS
|
||||
[PASS, FAIL]
|
||||
|
||||
[Test that cross-site iframe navigations are not observable by the parent]
|
||||
expected:
|
||||
if (os == "android") and not fission: PASS
|
||||
if not fission: PASS
|
||||
[PASS, FAIL]
|
||||
|
||||
@@ -194,7 +194,7 @@ def run_info_extras(**kwargs):
|
||||
"headless": kwargs.get("headless", False) or "MOZ_HEADLESS" in os.environ,
|
||||
"fission": not kwargs.get("disable_fission"),
|
||||
"sessionHistoryInParent": (not kwargs.get("disable_fission") or
|
||||
not get_bool_pref("fission.disableSessionHistoryInParent")),
|
||||
get_bool_pref("fission.sessionHistoryInParent")),
|
||||
"swgl": get_bool_pref("gfx.webrender.software")}
|
||||
|
||||
rv.update(run_info_browser_version(**kwargs))
|
||||
|
||||
@@ -1486,9 +1486,9 @@ class XPCShellTests(object):
|
||||
self.mozInfo = fixedInfo
|
||||
|
||||
self.mozInfo["fission"] = prefs.get("fission.autostart", True)
|
||||
self.mozInfo["sessionHistoryInParent"] = self.mozInfo[
|
||||
"fission"
|
||||
] or not prefs.get("fission.disableSessionHistoryInParent", False)
|
||||
self.mozInfo["sessionHistoryInParent"] = self.mozInfo["fission"] or prefs.get(
|
||||
"fission.sessionHistoryInParent", False
|
||||
)
|
||||
|
||||
self.mozInfo["serviceworker_e10s"] = True
|
||||
|
||||
|
||||
@@ -1022,8 +1022,8 @@ namespace mozilla {
|
||||
|
||||
bool SessionHistoryInParent() {
|
||||
return FissionAutostart() ||
|
||||
!StaticPrefs::
|
||||
fission_disableSessionHistoryInParent_AtStartup_DoNotUseDirectly();
|
||||
StaticPrefs::
|
||||
fission_sessionHistoryInParent_AtStartup_DoNotUseDirectly();
|
||||
}
|
||||
|
||||
bool BFCacheInParent() {
|
||||
|
||||
@@ -26,8 +26,7 @@ bool FissionAutostart();
|
||||
// Returns whether or not we are currently enrolled in the fission experiment.
|
||||
bool FissionExperimentEnrolled();
|
||||
|
||||
// Returns true if FissionAutostart() is true or
|
||||
// fission.disableSessionHistoryInParent is false.
|
||||
// Returns true if fission.sessionHistoryInParent or FissionAutostart() is true.
|
||||
bool SessionHistoryInParent();
|
||||
|
||||
// Returns true if SessionHistoryInParent() returns true and
|
||||
|
||||
Reference in New Issue
Block a user