From 49fb532ffbe7fd4ea65916fe86627e398b52d09e Mon Sep 17 00:00:00 2001 From: Sylvain Defresne Date: Tue, 21 Jun 2022 19:50:08 +0000 Subject: [PATCH] [ios] Fix iOS WebView EG2 tests The iOS WebView shell don't create a CommandLine object which means that creating a display::Screen object will cause a crash while it is checking the flags passed on the command line. As registering display::Screen observers require creating the object, there is no need to assert there is no observer if no display::Screen exists. Bug: none Change-Id: I47e573bb1a397a565315e114befe8f22004b4245 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3714591 Auto-Submit: Sylvain Defresne Commit-Queue: Mitsuru Oshima Reviewed-by: Mitsuru Oshima Cr-Commit-Position: refs/heads/main@{#1016355} --- ios/testing/earl_grey/base_earl_grey_test_case.mm | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/ios/testing/earl_grey/base_earl_grey_test_case.mm b/ios/testing/earl_grey/base_earl_grey_test_case.mm index 3a09405d515a90..bc57b94b56d41e 100644 --- a/ios/testing/earl_grey/base_earl_grey_test_case.mm +++ b/ios/testing/earl_grey/base_earl_grey_test_case.mm @@ -87,9 +87,11 @@ + (void)tearDown { // The same screen object is shared across multiple test runs on IOS build. // Make sure that all display observers are removed at the end of each // test. - display::ScreenBase* screen = - static_cast(display::Screen::GetScreen()); - DCHECK(!screen->HasDisplayObservers()); + if (display::Screen::HasScreen()) { + display::ScreenBase* screen = + static_cast(display::Screen::GetScreen()); + DCHECK(!screen->HasDisplayObservers()); + } #endif if ([[AppLaunchManager sharedManager] appIsLaunched]) { [CoverageUtils writeClangCoverageProfile];