Commit 8d30cbd5 authored by Lukasz Anforowicz's avatar Lukasz Anforowicz Committed by Commit Bot

Disable TwoTabsCrashOneReloadsOneLeaves on Android due to flaky DCHECKs.

Before this CL, random tests in the RenderFrameHostManagerTestWithSiteIsolation
test suite would flakily fail when calling content::Compositor::Initialize from
RenderFrameHostManagerTestWithSiteIsolation::SetUp:

    Check failed: !CompositorImpl::IsInitialized().

Because of the above, the CL removes the call to CompositorImpl::IsInitialized
and disables the TwoTabsCrashOneReloadsOneLeaves testcase, because the disabled
test case fails without such call - it hits another DCHECK - one in
RenderWidgetHostViewChildFrame::SetFrameConnectorDelegate: about
|parent_view->GetFrameSinkId().is_valid()|.

The CL doesn't simply move the call to CompositorImpl::IsInitialized into the
single test case that needs it, because of concerns about the first flaky
DCHECK (the one about |!CompositorImpl::IsInitialized()|).

Bug: 1067432
Change-Id: Ib1febb7252b4628573f64c7971b917a261aef24b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2135900
Auto-Submit: Łukasz Anforowicz <lukasza@chromium.org>
Commit-Queue: Nasko Oskov <nasko@chromium.org>
Reviewed-by: default avatarNasko Oskov <nasko@chromium.org>
Cr-Commit-Position: refs/heads/master@{#756475}
parent 6807863e
......@@ -326,10 +326,6 @@ class RenderFrameHostManagerTest
// all BrowsingInstances used in the test.
SetContents(CreateTestWebContents());
}
#if defined(OS_ANDROID)
Compositor::Initialize();
#endif
}
void TearDown() override {
......@@ -1950,11 +1946,27 @@ TEST_P(RenderFrameHostManagerTestWithSiteIsolation, DetachPendingChild) {
<< "This SiteInstance should be destroyable now.";
}
#if defined(OS_ANDROID)
// TODO(lukasza): https://crbug.com/1067432: Calling Compositor::Initialize()
// DCHECKs flakily and without such call the test below consistently fails on
// Android (DCHECKing about parent_view->GetFrameSinkId().is_valid() in
// RenderWidgetHostViewChildFrame::SetFrameConnectorDelegate).
#define MAYBE_TwoTabsCrashOneReloadsOneLeaves \
DISABLED_TwoTabsCrashOneReloadsOneLeaves
#else
#define MAYBE_TwoTabsCrashOneReloadsOneLeaves TwoTabsCrashOneReloadsOneLeaves
#endif
// Two tabs in the same process crash. The first tab is reloaded, and the second
// tab navigates away without reloading. The second tab's navigation shouldn't
// mess with the first tab's content. Motivated by http://crbug.com/473714.
TEST_P(RenderFrameHostManagerTestWithSiteIsolation,
TwoTabsCrashOneReloadsOneLeaves) {
MAYBE_TwoTabsCrashOneReloadsOneLeaves) {
#if defined(OS_ANDROID)
// TODO(lukasza): https://crbug.com/1067432: This call might DCHECK flakily
// about !CompositorImpl::IsInitialized()..
Compositor::Initialize();
#endif
const GURL kUrl1("http://www.google.com/");
const GURL kUrl2("http://webkit.org/");
const GURL kUrl3("http://whatwg.org/");
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment