Bug 1614524 - Part 3: Add a fission.remoteObjectEmbed pref, r=mattwoodrow

With these changes, there are still a number of test failures when remote
object/embed is enabled, due to svg sizing and resource timing tests. In order
to land these changes before those features are fixed, it will be placed behind
a pref.

Differential Revision: https://phabricator.services.mozilla.com/D86582
This commit is contained in:
Nika Layzell 2020-08-18 16:49:45 +00:00
Родитель d3bf603977
Коммит c9967fb452
3 изменённых файлов: 19 добавлений и 0 удалений

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

@ -15,6 +15,11 @@ const testPath = window.location.href.replace("http://mochi.test:8888", "");
const testDir = testPath.substring(0, testPath.lastIndexOf('/') + 1);
add_task(async function() {
// FIXME: Remove when bug 1658342 is fixed
await SpecialPowers.pushPrefEnv({
set: [["fission.remoteObjectEmbed", true]],
});
info("Loading image in embed");
let embed = document.createElement("embed");
document.body.appendChild(embed);

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

@ -3546,6 +3546,15 @@
value: false
mirror: always
# If true, allow process-switching documents loaded by <object> and <embed>
# elements into a remote process.
# NOTE: This pref has no impact outside of windows with the
# `useRemoteSubframes` flag set.
- name: fission.remoteObjectEmbed
type: bool
value: false
mirror: always
#---------------------------------------------------------------------------
# Prefs starting with "font."
#---------------------------------------------------------------------------

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

@ -1654,6 +1654,11 @@ bool DocumentLoadListener::MaybeTriggerProcessSwitch(
return false;
}
if (!StaticPrefs::fission_remoteObjectEmbed()) {
LOG(("Process Switch Abort: remote <object>/<embed> disabled"));
return false;
}
mObjectUpgradeHandler->UpgradeObjectLoad()->Then(
GetMainThreadSerialEventTarget(), __func__,
[self = RefPtr{this}, remoteType, replaceBrowsingContext, specificGroupId,