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:
Cosmin Sabou
2023-04-14 13:28:44 +03:00
parent b5ca03ae2b
commit 924d03c197
22 changed files with 81 additions and 110 deletions

View File

@@ -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);

View File

@@ -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)

View File

@@ -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)") {

View File

@@ -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

View File

@@ -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]

View File

@@ -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
),

View File

@@ -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:

View File

@@ -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

View File

@@ -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]

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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]

View File

@@ -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

View File

@@ -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]

View File

@@ -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))

View File

@@ -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

View File

@@ -1022,8 +1022,8 @@ namespace mozilla {
bool SessionHistoryInParent() {
return FissionAutostart() ||
!StaticPrefs::
fission_disableSessionHistoryInParent_AtStartup_DoNotUseDirectly();
StaticPrefs::
fission_sessionHistoryInParent_AtStartup_DoNotUseDirectly();
}
bool BFCacheInParent() {

View File

@@ -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