[Fuchsia] Don't InitializeViewTokenAndPresentView() under 'headless'.
Tests use //ui/aura/test/test_screen.cc, which under Fuchsia calls
InitializeViewTokenAndPresentView(), which creates a token and invokes
fuchsia.ui.policy.Presenter.Present(). This may cause the presenter
service to be started, if not already running, which may lead to
crashes or logspam.
Bug: DX-1801
Change-Id: I65f1ff5e86557d236de8df58cea351b265627a4b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1729514
Commit-Queue: Scott Violet <sky@chromium.org>
Reviewed-by: Scott Violet <sky@chromium.org>
Reviewed-by: Sergey Ulanov <sergeyu@chromium.org>
Auto-Submit: Wez <wez@chromium.org>
Cr-Commit-Position: refs/heads/master@{#683664}
diff --git a/ui/aura/BUILD.gn b/ui/aura/BUILD.gn
index 43378db..630f2c2 100644
--- a/ui/aura/BUILD.gn
+++ b/ui/aura/BUILD.gn
@@ -246,6 +246,9 @@
}
if (use_ozone) {
+ if (is_fuchsia) {
+ deps += [ "//ui/ozone" ]
+ }
sources += [ "test/ui_controls_factory_ozone.cc" ]
}
}
diff --git a/ui/aura/test/test_screen.cc b/ui/aura/test/test_screen.cc
index 01be576..1963534 100644
--- a/ui/aura/test/test_screen.cc
+++ b/ui/aura/test/test_screen.cc
@@ -19,6 +19,7 @@
#include "ui/platform_window/platform_window_init_properties.h"
#if defined(OS_FUCHSIA)
+#include "ui/ozone/public/ozone_platform.h" // nogncheck
#include "ui/platform_window/fuchsia/initialize_presenter_api_view.h"
#endif
@@ -50,7 +51,11 @@
ui::PlatformWindowInitProperties properties(
gfx::Rect(GetPrimaryDisplay().GetSizeInPixel()));
#if defined(OS_FUCHSIA)
- ui::fuchsia::InitializeViewTokenAndPresentView(&properties);
+ if (ui::OzonePlatform::GetInstance()
+ ->GetPlatformProperties()
+ .needs_view_token) {
+ ui::fuchsia::InitializeViewTokenAndPresentView(&properties);
+ }
#endif
host_ = WindowTreeHost::Create(std::move(properties)).release();
// Some tests don't correctly manage window focus/activation states.