[ermine] Plumb ViewRef to use focus chain

This change plumbs ViewRef of ChildView to allow focusing based
on FocusChainListener service. This service notifies ermine when
the focus changes on any descendant child view and is used to
update the focus UX on view title bar.

Test: Updated unittests to use focus chain instead of pointer
events hack service.

Note: PointerEventsHack service is still used to restore a view
from fullscreen state. This will be removed in future when the
new pointer injector service is ready.

Change-Id: I44457db6d34381b8bb6a2afa6eb65b28a4d7d92c
Reviewed-on: https://fuchsia-review.googlesource.com/c/experiences/+/410803
Reviewed-by: Charles Whitten <cwhitten@google.com>
Reviewed-by: Chase Latta <chaselatta@google.com>
Testability-Review: Chase Latta <chaselatta@google.com>
Commit-Queue: Sanjay Chouksey <sanjayc@google.com>
10 files changed
tree: a19513d89c9796e73ec71e2c2e2bf20ed44ea90e
  1. base_shells/
  2. benchmarks/
  3. bin/
  4. examples/
  5. lib/
  6. session_shells/
  7. settings/
  8. tests/
  9. .gitignore
  10. analysis_options.yaml
  11. AUTHORS
  12. BUILD.gn
  13. CONTRIBUTING.md
  14. LICENSE
  15. OWNERS
  16. PATENTS
  17. README.md
README.md

Fuchsia Experiences Repository

This is a companion repository to Fuchsia and contains code that either implements or supports user facing code for the Fuchsia platform. The code provides a majority of the user interface for the Workstation product as well as a small set of examples, tests, and benchmarks.

Build & Run

This repository is a “source petal” included in the Fuchsia Platform Source Tree (FPST) checkout. Code in this repository must be built with Fuchsia in order to be functional, see (the guide)[https://fuchsia.dev/fuchsia-src/development/source_code] for instructions on getting the source.

Hardware

Hardware support should be considered experimental. However, NUC's and Pixelbooks are known to work best. For details on hardware setup see: (Install Fuchsia on a Device)[https://fuchsia.dev/fuchsia-src/development/hardware/paving]

Building

Once you have functional checkout you can (configure a build)[https://fuchsia.dev/fuchsia-src/development/build/fx#configure-a-build] targeting Workstation:

    fx set workstation.<board> # For options run: `fx list-boards`
    fx build

See Fuchsia's (build and pave instructions)[https://fuchsia.dev/fuchsia-src/development/build/build_and_pave_quickstart] for detailed instructions.

Running

Once built, standard Fuchsia workflows for paving, running code, and testing apply. See: (fx workflows)[https://fuchsia.dev/fuchsia-src/development/build/fx] for detailed instructions.