зеркало из https://github.com/mozilla/gecko-dev.git
Backed out 2 changesets (bug 1582523
) for build bustages at ContentChild.cpp on a CLOSED TREE
Backed out changeset 72ca7d054061 (bug1582523
) Backed out changeset a6c10aa450ba (bug1582523
)
This commit is contained in:
Родитель
afef6a355c
Коммит
5b9c485d55
|
@ -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);
|
||||
|
|
Загрузка…
Ссылка в новой задаче