Backed out 2 changesets (bug 1582523) for build bustages at ContentChild.cpp on a CLOSED TREE

Backed out changeset 72ca7d054061 (bug 1582523)
Backed out changeset a6c10aa450ba (bug 1582523)
This commit is contained in:
Andreea Pavel 2019-09-20 08:45:25 +03:00
Родитель afef6a355c
Коммит 5b9c485d55
11 изменённых файлов: 51 добавлений и 25 удалений

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

@ -82,6 +82,14 @@ add_task(async function testTempPermissionSubframes() {
// Request a permission.
await ContentTask.spawn(browser, uri.host, async function(host0) {
// FIXME(Fission): The load event fires before cross-origin iframes have
// loaded (bug 1559841).
if (content.SpecialPowers.useRemoteSubframes) {
for (let i = 0; i < 800; i++) {
await new Promise(resolve => content.setTimeout(resolve, 0));
}
}
let frame = content.document.getElementById("frame");
await content.SpecialPowers.spawn(frame, [host0], async function(host) {

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

@ -14,7 +14,6 @@
#include "mozilla/dom/FrameLoaderBinding.h"
#include "mozilla/dom/HTMLIFrameElement.h"
#include "mozilla/dom/MozFrameLoaderOwnerBinding.h"
#include "mozilla/ScopeExit.h"
#include "mozilla/StaticPrefs_fission.h"
#include "mozilla/EventStateManager.h"
@ -70,23 +69,6 @@ void nsFrameLoaderOwner::ChangeRemoteness(
RefPtr<mozilla::dom::BrowsingContext> bc;
bool networkCreated = false;
// In this case, we're not reparenting a frameloader, we're just destroying
// our current one and creating a new one, so we can use ourselves as the
// owner.
RefPtr<Element> owner = do_QueryObject(this);
MOZ_ASSERT(owner);
// When we destroy the original frameloader, it will stop blocking the parent
// document's load event, and immediately trigger the load event if there are
// no other blockers. Since we're going to be adding a new blocker as soon as
// we recreate the frame loader, this is not what we want, so add our own
// blocker until the process is complete.
Document* doc = owner->OwnerDoc();
doc->BlockOnload();
auto cleanup = MakeScopeExit([&]() {
doc->UnblockOnload(false);
});
// If we already have a Frameloader, destroy it, possibly preserving its
// browsing context.
if (mFrameLoader) {
@ -102,6 +84,11 @@ void nsFrameLoaderOwner::ChangeRemoteness(
mFrameLoader = nullptr;
}
// In this case, we're not reparenting a frameloader, we're just destroying
// our current one and creating a new one, so we can use ourselves as the
// owner.
RefPtr<Element> owner = do_QueryObject(this);
MOZ_ASSERT(owner);
mFrameLoader =
nsFrameLoader::Recreate(owner, bc, aOptions.mRemoteType, networkCreated);

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

@ -430,6 +430,7 @@ support-files = bug444546.sjs
[test_bug461735.html]
[test_bug465767.html]
[test_bug466080.html]
fail-if = fission
[test_bug466409.html]
[test_bug466751.xhtml]
[test_bug469020.html]

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

@ -18,6 +18,14 @@
SimpleTest.waitForExplicitFinish();
async function runTest() {
// FIXME(Fission): The load event fires before cross-origin iframes have
// loaded (bug 1559841).
if (SpecialPowers.useRemoteSubframes) {
for (let i = 0; i < 100; i++) {
await new Promise(resolve => setTimeout(resolve, 0));
}
}
let sNoXUL = await snapshotWindow(window.frames[0], false);
let sWithXUL = await snapshotWindow(window.frames[1], false);
let sRef = await snapshotWindow(window.frames[2], false);

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

@ -20,6 +20,14 @@ var isUnique = SpecialPowers.getBoolPref("security.data_uri.unique_opaque_origin
var testFramesLoaded = async function() {
var harness = document.getElementById("harness").contentDocument;
// FIXME(Fission): The load event fires before cross-origin iframes have
// loaded (bug 1559841).
if (SpecialPowers.useRemoteSubframes) {
for (let i = 0; i < 100; i++) {
await new Promise(resolve => setTimeout(resolve, 0));
}
}
// iframe from same origin, no X-F-O header - should load
var frame = harness.getElementById("control1");
await SpecialPowers.spawn(frame, [], () => {

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

@ -2121,11 +2121,6 @@ already_AddRefed<RemoteBrowser> ContentChild::CreateBrowser(
TabId tabId(nsContentUtils::GenerateTabId());
RefPtr<BrowserBridgeChild> browserBridge =
new BrowserBridgeChild(aFrameLoader, aBrowsingContext, tabId);
auto* docShell = owner->OwnerDoc()->GetDocShell();
MOZ_ASSERT(docShell);
nsDocShell::Cast(docShell)->OOPChildLoadStarted(browserBridge);
browserChild->SendPBrowserBridgeConstructor(
browserBridge, PromiseFlatString(aContext.PresentationURL()), aRemoteType,
aBrowsingContext, chromeFlags, tabId);

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

@ -138,6 +138,7 @@ skip-if = toolkit == 'android' # bug 1230232 - Mouse doesn't select in the same
[test_storagePermissionsLimitForeign.html]
[test_storagePermissionsReject.html]
[test_storagePermissionsRejectForeign.html]
skip-if = fission # intermittent since bug 1559841
[test_stylesheetPI.html]
[test_vibrator.html]
[test_WebKitCSSMatrix.html]

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

@ -14,4 +14,5 @@ support-files =
[test_storageLocalStorageEventCheckPropagation.html]
[test_storageNotifications.html]
[test_storageSessionStorageEventCheckNoPropagation.html]
skip-if = fission # intermittent since bug 1559841
[test_storageSessionStorageEventCheckPropagation.html]

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

@ -25,18 +25,25 @@ support-files =
skip-if = toolkit == 'android' #bug 894914 - wrong data - got FAIL, expected message
[test_postMessage_hash.html]
[test_postMessage.html]
skip-if = fission # Timeouts
[test_postMessage_idn.xhtml]
skip-if = fission # Timeouts
[test_postMessage_joined.html]
skip-if = fission # Timeouts
[test_postMessage_onOther.html]
skip-if = fission #Bug 1571273
[test_postMessage_origin.xhtml]
skip-if = fission # Fails intermittently under Fission.
skip-if = fission # Timeouts
[test_postMessage_override.html]
skip-if = fission # Fails intermittently under Fission.
skip-if = fission
[test_postMessage_special.xhtml]
[test_postMessage_structured_clone.html]
skip-if = fission # Bug 1578636
[test_postMessage_throw.html]
[test_postMessage_transfer.html]
skip-if = fission # Bug 1579291
[test_postMessage_userpass.html]
skip-if = fission # Timeouts
[test_bug500328.html]
skip-if = true || toolkit=='android' # bug 696306, #TIMED_OUT android
support-files = file_bug500328_1.html file_bug500328_2.html

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

@ -7,6 +7,7 @@ support-files =
[test_bug231389.html]
[test_bug287446.html]
skip-if = fission && debug # Crashes: @ nsDocShell::SetParentWidget(nsIWidget*)
fail-if = fission
[test_bug345267.html]
[test_bug346043.html]
[test_bug348236.html]
@ -23,6 +24,7 @@ skip-if = toolkit == 'android'
[test_bug477531.html]
[test_bug477700.html]
skip-if = fission && debug # Crashes: @ nsDocShell::SetParentWidget(nsIWidget*)
fail-if = fission
[test_bug478219.xhtml]
skip-if = toolkit == 'android'
[test_bug534785.html]

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

@ -27,6 +27,14 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=695385
async function run() {
SimpleTest.waitForExplicitFinish();
// FIXME(Fission): The load event fires before cross-origin iframes have
// loaded (bug 1559841).
if (SpecialPowers.useRemoteSubframes) {
for (let i = 0; i < 100; i++) {
await new Promise(resolve => setTimeout(resolve, 0));
}
}
let snapshots = new Array(4);
for (let i = 0; i < snapshots.length; i++) {
snapshots[i] = await snapshotWindow(frames[i], false);