Backed out 2 changesets (bug 1562264) for causing Android perma fails. CLOSED TREE

Backed out changeset b66eec7d2e55 (bug 1562264)
Backed out changeset 445eadfd8ce3 (bug 1562264)
This commit is contained in:
Razvan Maries 2019-08-17 02:24:40 +03:00
parent 9b9c9fbffe
commit 595de881b0
12 changed files with 23 additions and 47 deletions

View File

@ -310,6 +310,7 @@ skip-if = toolkit == 'android' || headless # headless != clipboard
[test_bug320799.html]
[test_bug322317.html]
[test_bug326337.html]
skip-if = fission && debug # Crashes: @ std::_Function_handler<void (mozilla::Tuple<nsresult, mozilla::dom::PBrowserBridgeParent*>&&), mozilla::dom::WindowGlobalParent::ChangeFrameRemoteness(mozilla::dom::BrowsingContext*, nsTSubstring<char16_t> const&, unsigned long, mozilla::ErrorResult&)::$_2>::_M_invoke(std::_Any_data const&, mozilla::Tuple<nsresult, mozilla::dom::PBrowserBridgeParent*>&&)
[test_bug330925.xhtml]
[test_bug331959.html]
[test_bug333064.html]

View File

@ -262,7 +262,9 @@ support-files =
third_party_window.html
third_party_iframe1.html
third_party_iframe2.html
skip-if = os == 'android' && debug # Bug 1311590
skip-if =
(os == 'android' && debug) || # Bug 1311590
fission && debug # Crashes: @ std::_Function_handler<void (mozilla::Tuple<nsresult, mozilla::dom::PBrowserBridgeParent*>&&), mozilla::dom::WindowGlobalParent::ChangeFrameRemoteness(mozilla::dom::BrowsingContext*, nsTSubstring<char16_t> const&, unsigned long, mozilla::ErrorResult&)::$_2>::_M_invoke(std::_Any_data const&, mozilla::Tuple<nsresult, mozilla::dom::PBrowserBridgeParent*>&&)
[test_traffic_jam.html]
[test_transaction_abort.html]
[test_transaction_abort_hang.html]

View File

@ -4696,10 +4696,11 @@ mozilla::ipc::IPCResult ContentParent::CommonCreateWindow(
{
// The content process should never be in charge of computing whether or
// not a window should be private - the parent will do that.
// not a window should be private or remote - the parent will do that.
const uint32_t badFlags = nsIWebBrowserChrome::CHROME_PRIVATE_WINDOW |
nsIWebBrowserChrome::CHROME_NON_PRIVATE_WINDOW |
nsIWebBrowserChrome::CHROME_PRIVATE_LIFETIME;
nsIWebBrowserChrome::CHROME_PRIVATE_LIFETIME |
nsIWebBrowserChrome::CHROME_REMOTE_WINDOW;
if (!!(aChromeFlags & badFlags)) {
return IPC_FAIL(this, "Forbidden aChromeFlags passed");
}
@ -4708,20 +4709,6 @@ mozilla::ipc::IPCResult ContentParent::CommonCreateWindow(
BrowserHost* thisBrowserHost =
thisBrowserParent ? thisBrowserParent->GetBrowserHost() : nullptr;
MOZ_ASSERT(!thisBrowserParent == !thisBrowserHost);
// The content process should not have set its remote or fission flags if the
// parent doesn't also have these set.
if (thisBrowserHost) {
nsCOMPtr<nsILoadContext> context = thisBrowserHost->GetLoadContext();
if (context->UseRemoteTabs() !=
!!(aChromeFlags & nsIWebBrowserChrome::CHROME_REMOTE_WINDOW) ||
context->UseRemoteSubframes() !=
!!(aChromeFlags & nsIWebBrowserChrome::CHROME_FISSION_WINDOW)) {
return IPC_FAIL(this, "Unexpected aChromeFlags passed");
}
}
nsCOMPtr<nsIContent> frame;
if (thisBrowserParent) {
frame = thisBrowserParent->GetOwnerElement();

View File

@ -719,7 +719,9 @@ skip-if = true # bug 475110 - disabled since we don't play Wave files standalone
skip-if = android_version >= '23' # bug 1424903
[test_autoplay_policy_activation.html]
fail-if = fission
skip-if = android_version >= '23' # bug 1424903
skip-if =
android_version >= '23' || # bug 1424903
fission && debug # Crashes: @ std::_Function_handler<void (mozilla::Tuple<nsresult, mozilla::dom::PBrowserBridgeParent*>&&), mozilla::dom::WindowGlobalParent::ChangeFrameRemoteness(mozilla::dom::BrowsingContext*, nsTSubstring<char16_t> const&, unsigned long, mozilla::ErrorResult&)::$_2>::_M_invoke(std::_Any_data const&, mozilla::Tuple<nsresult, mozilla::dom::PBrowserBridgeParent*>&&)
[test_autoplay_policy_eventdown_activation.html]
skip-if = android_version >= '23' # bug 1424903
[test_autoplay_policy_key_blacklist.html]

View File

@ -332,7 +332,7 @@ fail-if = fission
[test_third_party_iframes.html]
skip-if =
(os == 'android' && debug) || # Bug 1432325
fission # Fails uncleanly: /tests/dom/serviceworkers/test/test_third_party_iframes.html logged result after SimpleTest.finish(): This test left a service worker registered without cleaning it up
fission # Crashes: @ std::_Function_handler<void (mozilla::Tuple<nsresult, mozilla::dom::PBrowserBridgeParent*>&&), mozilla::dom::WindowGlobalParent::ChangeFrameRemoteness(mozilla::dom::BrowsingContext*, nsTSubstring<char16_t> const&, unsigned long, mozilla::ErrorResult&)::$_2>::_M_invoke(std::_Any_data const&, mozilla::Tuple<nsresult, mozilla::dom::PBrowserBridgeParent*>&&)
support-files =
window_party_iframes.html
[test_unregister.html]

View File

@ -79,7 +79,7 @@ reason = Plugins are not supported on Android and Windows/AArch64
[test_bug42976.html]
[test_bug430276.html]
[test_bug440572.html]
skip-if = fission # Fails uncleanly: /tests/dom/tests/mochitest/bugs/test_bug440572.html logged result after SimpleTest.finish(): wrong sender!
fail-if = fission
[test_bug456151.html]
[test_bug458091.html]
skip-if = toolkit == 'android' && !is_fennec # Bug 1525959
@ -156,7 +156,7 @@ skip-if = toolkit == 'android'
[test_bug1112040.html]
[test_bug1160342_marquee.html]
[test_bug1171215.html]
fail-if = fission
skip-if = fission # Crashes: @ std::_Function_handler<void (mozilla::Tuple<nsresult, mozilla::dom::PBrowserBridgeParent*>&&), mozilla::dom::WindowGlobalParent::ChangeFrameRemoteness(mozilla::dom::BrowsingContext*, nsTSubstring<char16_t> const&, unsigned long, mozilla::ErrorResult&)::$_2>::_M_invoke(std::_Any_data const&, mozilla::Tuple<nsresult, mozilla::dom::PBrowserBridgeParent*>&&)
support-files = window_bug1171215.html
[test_bug1530292.html]
fail-if = fission

View File

@ -135,14 +135,18 @@ skip-if = verify
skip-if = toolkit == 'android' # bug 1230232 - Mouse doesn't select in the same way
[test_showModalDialog_removed.html]
[test_storagePermissionsAccept.html]
skip-if = fission && debug # Crashes: @ std::_Function_handler<void (mozilla::Tuple<nsresult, mozilla::dom::PBrowserBridgeParent*>&&), mozilla::dom::WindowGlobalParent::ChangeFrameRemoteness(mozilla::dom::BrowsingContext*, nsTSubstring<char16_t> const&, unsigned long, mozilla::ErrorResult&)::$_2>::_M_invoke(std::_Any_data const&, mozilla::Tuple<nsresult, mozilla::dom::PBrowserBridgeParent*>&&)
[test_storagePermissionsLimitForeign.html]
skip-if =
fission && debug || # Crashes: @ std::_Function_handler<void (mozilla::Tuple<nsresult, mozilla::dom::PBrowserBridgeParent*>&&), mozilla::dom::WindowGlobalParent::ChangeFrameRemoteness(mozilla::dom::BrowsingContext*, nsTSubstring<char16_t> const&, unsigned long, mozilla::ErrorResult&)::$_2>::_M_invoke(std::_Any_data const&, mozilla::Tuple<nsresult, mozilla::dom::PBrowserBridgeParent*>&&)
fission && !debug # Crashes @ mozilla::dom::BrowsingContextGroup::EnsureSubscribed(mozilla::dom::ContentParent*)
[test_storagePermissionsReject.html]
skip-if =
fission && debug || # Crashes: @ std::_Function_handler<void (mozilla::Tuple<nsresult, mozilla::dom::PBrowserBridgeParent*>&&), mozilla::dom::WindowGlobalParent::ChangeFrameRemoteness (mozilla::dom::BrowsingContext*, nsTSubstring<char16_t> const&, unsigned long, mozilla::ErrorResult&)::$_2>::_M_invoke(std::_Any_data const&, mozilla::Tuple<nsresult, mozilla::dom::PBrowserBridgeParent*>&&)
fission && !debug # Crashes @ mozilla::dom::BrowsingContextGroup::EnsureSubscribed(mozilla::dom::ContentParent*)
[test_storagePermissionsRejectForeign.html]
skip-if =
fission && debug || # Crashes: @ std::_Function_handler<void (mozilla::Tuple<nsresult, mozilla::dom::PBrowserBridgeParent*>&&), mozilla::dom::WindowGlobalParent::ChangeFrameRemoteness(mozilla::dom::BrowsingContext*, nsTSubstring<char16_t> const&, unsigned long, mozilla::ErrorResult&)::$_2>::_M_invoke(std::_Any_data const&, mozilla::Tuple<nsresult, mozilla::dom::PBrowserBridgeParent*>&&)
fission && !debug # Crashes @ mozilla::dom::BrowsingContextGroup::EnsureSubscribed(mozilla::dom::ContentParent*)
[test_stylesheetPI.html]
[test_vibrator.html]

View File

@ -31,6 +31,7 @@ skip-if = os == "android" || verify # bug 962029
skip-if = e10s
[test_localStorageBaseSessionOnly.html]
[test_localStorageCookieSettings.html]
skip-if = fission && debug # Crashes: @ std::_Function_handler<void (mozilla::Tuple<nsresult, mozilla::dom::PBrowserBridgeParent*>&&), mozilla::dom::WindowGlobalParent::ChangeFrameRemoteness(mozilla::dom::BrowsingContext*, nsTSubstring<char16_t> const&, unsigned long, mozilla::ErrorResult&)::$_2>::_M_invoke(std::_Any_data const&, mozilla::Tuple<nsresult, mozilla::dom::PBrowserBridgeParent*>&&)
[test_localStorageEnablePref.html]
[test_localStorageKeyOrder.html]
[test_localStorageOriginsDiff.html]

View File

@ -172,6 +172,7 @@ skip-if = toolkit == 'android'
[test_rvals.html]
[test_sharedWorker.html]
[test_sharedWorker_thirdparty.html]
skip-if = fission && debug # Crashes: @ std::_Function_handler<void (mozilla::Tuple<nsresult, mozilla::dom::PBrowserBridgeParent*>&&), mozilla::dom::WindowGlobalParent::ChangeFrameRemoteness(mozilla::dom::BrowsingContext*, nsTSubstring<char16_t> const&, unsigned long, mozilla::ErrorResult&)::$_2>::_M_invoke(std::_Any_data const&, mozilla::Tuple<nsresult, mozilla::dom::PBrowserBridgeParent*>&&)
fail-if = fission
support-files =
sharedWorker_thirdparty_frame.html

View File

@ -42,6 +42,7 @@ skip-if = (os == 'linux' && debug) #Bug 1199778
[test_classifier_worker.html]
[test_classify_by_default.html]
skip-if =
fission && debug || # Crashes: @ std::_Function_handler<void (mozilla::Tuple<nsresult, mozilla::dom::PBrowserBridgeParent*>&&), mozilla::dom::WindowGlobalParent::ChangeFrameRemoteness(mozilla::dom::BrowsingContext*, nsTSubstring<char16_t> const&, unsigned long, mozilla::ErrorResult&)::$_2>::_M_invoke(std::_Any_data const&, mozilla::Tuple<nsresult, mozilla::dom::PBrowserBridgeParent*>&&)
fission # Crashes intermittently: @ mozilla::dom::BrowsingContextGroup::EnsureSubscribed(mozilla::dom::ContentParent*)
[test_classify_ping.html]
skip-if = (verify && debug && (os == 'win' || os == 'mac'))

View File

@ -691,20 +691,6 @@ nsresult nsWindowWatcher::OpenWindowInternal(
MOZ_ASSERT(XRE_IsParentProcess());
chromeFlags |= nsIWebBrowserChrome::CHROME_OPENAS_DIALOG;
}
// Propagate the remote & fission status of the parent window, if available,
// to the child.
if (parentWindow) {
auto* docShell = nsDocShell::Cast(parentWindow->GetDocShell());
if (docShell->UseRemoteTabs()) {
chromeFlags |= nsIWebBrowserChrome::CHROME_REMOTE_WINDOW;
}
if (docShell->UseRemoteSubframes()) {
chromeFlags |= nsIWebBrowserChrome::CHROME_FISSION_WINDOW;
}
}
}
SizeSpec sizeSpec;
@ -2486,7 +2472,6 @@ int32_t nsWindowWatcher::GetWindowOpenLocation(nsPIDOMWindowOuter* aParent,
// which might have been automatically flipped by Gecko.
int32_t uiChromeFlags = aChromeFlags;
uiChromeFlags &= ~(nsIWebBrowserChrome::CHROME_REMOTE_WINDOW |
nsIWebBrowserChrome::CHROME_FISSION_WINDOW |
nsIWebBrowserChrome::CHROME_PRIVATE_WINDOW |
nsIWebBrowserChrome::CHROME_NON_PRIVATE_WINDOW |
nsIWebBrowserChrome::CHROME_PRIVATE_LIFETIME);

View File

@ -282,17 +282,9 @@ add_task(async function test_new_remote_window_flags() {
// as part of the BrowserChild, so we have to check those too.
let contentChromeFlags = await getContentChromeFlags(win);
assertContentFlags(contentChromeFlags);
Assert.equal(
parentChromeFlags & Ci.nsIWebBrowserChrome.CHROME_REMOTE_WINDOW,
contentChromeFlags & Ci.nsIWebBrowserChrome.CHROME_REMOTE_WINDOW,
"Should have matching remote value in parent and content"
);
Assert.equal(
parentChromeFlags & Ci.nsIWebBrowserChrome.CHROME_FISSION_WINDOW,
contentChromeFlags & Ci.nsIWebBrowserChrome.CHROME_FISSION_WINDOW,
"Should have matching fission value in parent and content"
Assert.ok(
!(contentChromeFlags & Ci.nsIWebBrowserChrome.CHROME_REMOTE_WINDOW),
"Should not be remote in the content process."
);
await BrowserTestUtils.closeWindow(win);