* Reland fuchsia external view embedder will be shared with platform view
This reverts commit 9b752790f4d25ab238576c719208d7a38c6293f3.
* wait for the external view embedder to be initialized before creating
shell
This change adds support for forwarding scenic's viewConnected,
viewDisconnected and viewStateChanged events to flutter. The
corrensponding change on fuchsia side is at:
https://fuchsia-review.googlesource.com/c/topaz/+/434356
Test: Includes unittest to verify the events are forwarded.
Co-authored-by: Sanjay Chouksey <sanjayc@google.com>
This change adds a response to the platform view message: requestFocus
This allows the caller to handle the case when the request fails with
an error value.
Co-authored-by: Sanjay Chouksey <sanjayc@google.com>
Cleans up header order/grouping for consistency: associated header, C/C++ system/standard library headers, library headers, platform-specific #includes.
Adds <cstring> where strlen, memcpy are being used: there are a bunch of places we use them transitively.
Applies linter-required cleanups. Disables linter on one file due to included RapidJson header. See https://github.com/flutter/flutter/issues/65676
This patch does not cover flutter/shell/platform/darwin. There's a separate, slightly more intensive cleanup for those in progress.
Reland #19396 with a fix for improper scale that was affecting internal tests
Tested: Ran all unittests, ran internal tests, and ran workstation on Fuchsia
BUG: 53062, 53063
This improves raster cache control from apps and enables
GPU acceleration for some offscreen workloads that would
fallback to software.
Test: PlatformViewTests.GetGrContextTest
Co-authored-by: David Reveman <reveman@google.com>
This change creates the scenic session with request to Focuser. The
focuser is used to request focus to a view, given it's ViewRef. The call to
requestFocus is made from PlatformView messages channel, which will
be used from Flutter side by ChildView.
Adds a PlatformView unittest for the requestFocus method.
Co-authored-by: Sanjay Chouksey <sanjayc@google.com>
The fuchsia code around metrics and sizing was just sending this
information through a side-channel, when the engine already had the
information available. So, delete all of it to make future CLs simpler.
Additionally, the SceneUpdateContext has many unneccesary dependencies
re: metrics and PaintTasks. Break those to make future CLs simpler.
Tested: Ran all unittests and ran workstation on Fuchsia
BUG: 53062, 53063
* Add PlatformView support for Fuchsia
This change allows embedding views provided by fuchsia components into
a flutter app running on Fuchsia. This conforms to Flutters idiomatic
approach to composite PlatformView alongside other rendered layers.
This uses the `view embedder` infrastructure to allow
`PlatformViewLayer`
to hold fuchsia views. This is meant to eventually supplant the legacy
`SceneHost` and `ChildViewLayer` mechanism to embed fuchsia `ChildView`.
To see how this will get used check out:
https://fuchsia-review.googlesource.com/c/experiences/+/398536/6/examples/hello_experiences/lib/fuchsia_view.dart
Includes unittests for platform_view.cc.
Note: This change has no impact on the legacy code to embed fuchsia
views.
* Rename OnCreateViewMethodCall to OnCreateView
Same for OnDestroyViewMethodCall to OnDestroyView
Co-authored-by: Sanjay Chouksey <sanjayc@google.com>
In order to better support different products on Fuchsia, we should
change performance-sensitive attributes based on config files passed in.
This change does so for `vsync_offset`.
Expose scenic's ability to toggle wireframe debug
rendering of view bounds in flutter_runner. This is done
by registering a new function on the platform_views channel
with the PlatformView.
Note: Unittests have not been enabled, will enable once we
have sufficient infra.
SCN-1351 #done
Change-Id: Id4c8ef65cc39a967087d7fa6c9f595da8cfe5f01
* [fidl][flutter_runner] Port Migrate to new fit::optional compatible APIs
Updated all call-sites.
See: https://fuchsia-review.googlesource.com/c/fuchsia/+/304389
FIDL-564 #comment
Change-Id: I831712ffd4a47b8fc9cf1fe237b709a1b983109f
* fix observatory port and re-sync cmx files
This rolls to CIPD package versions:
macOS SDK: pWygawI3vBzP9dYloEvKka8r1p0NpLLZzZQ-yMYI1UIC
Linux SDK: L_ORUWXyDEC29pSiSyKIwGqcFMQFsV91E3h_wPbUIUkC
Applies two breaking changes from the SDK:
* `zx_clock_get_new()` has been eliminated and replaced with
`zx_clock_get()`. See:
https://fuchsia-review.googlesource.com/c/fuchsia/+/293688
* Scenic `Metrics` no longer supports operator==; instead we use
`fidl::Equals()`.
Corects a bnuch of typeos throughout teh engien codebsae. Also makes
a couple minor Commonwealth -> US spelling adjustments for consistency
with the rest of Flutter's codebase.
Made use of `misspell` tool:
https://github.com/client9/misspell