[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.