248 Commits

Author SHA1 Message Date
mikaelpessa
7a7804b6d3
Add "input shield" to capture pointer input for reinjection (#22067) 2020-10-29 15:23:02 -07:00
Alexander Brusher
0270632d85
Includes roles for links, checkboxes, and radio buttons in semantics (#22061) 2020-10-28 18:02:02 -07:00
Kaushik Iska
326b202cc7
Reland fuchsia external view embedder will be shared with platform view (#22008)
* 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
2020-10-22 13:48:36 -07:00
Adam Barth
638c182366
[fuchsia] zx::vmar::map migration (#22003)
The new map() method receives its arguments in the same order as the
underlying C system call. This patch should not change any behavior.
2020-10-20 21:59:46 +00:00
Chase Latta
8a5b423445
[fuchsia] opt-out null-safety in standalone scripts (#22009) 2020-10-20 14:47:01 -07:00
Clement Skau
e78e405e6a
Enable lazy-async-stacks by-default in all modes (Take 4) (#21802) 2020-10-20 10:31:15 +02:00
Chris Bracken
49c35b6177
Eliminate unnecessary linter opt-outs (#21935)
Eliminates FLUTTER_NOLINT where they can be landed without triggering
lint failures.
2020-10-16 17:24:23 -07:00
Ren You
9b752790f4
Revert "[fuchsia] External view embedder will be shared with platform view (#21850)" (#21924)
This reverts commit 1bc025d6cbf1136c2e96c6fb041d24202ea47ff0.
2020-10-16 15:25:13 -07:00
Chinmay Garde
5bd7260a1e
Enable loading snapshots with sound null safety enabled. (#21820)
Snapshots compiled with sound null-safety enabled require changes to the way in
which isolates are launched. Specifically, the `Dart_IsolateFlags::null_safety`
field needs to be known upfront. The value of this field can only be determined
once the kernel snapshot is available. This poses a problem in the engine
because the engine used to launch the isolate at shell initialization and only
need the kernel mappings later at isolate launch (when transitioning the root
isolate to the `DartIsolate::Phase::Running` phase). This patch delays launch of
the isolate on the UI task runner till a kernel mapping is available. The side
effects of this delay (callers no longer having access to the non-running
isolate handle) have been addressed in this patch. The DartIsolate API has also
been amended to hide the method that could return a non-running isolate to the
caller.  Instead, it has been replaced with a method that requires a valid
isolate configuration that returns a running root isolate. The isolate will be
launched by asking the isolate configuration for its null-safety
characteristics.

A side effect of enabling null-safety is that Dart APIs that work with legacy
types will now terminate the process if used with an isolate that has sound
null-safety enabled. These APIs may no longer be used in the engine. This
primarily affects the Dart Convertors in Tonic that convert certain C++ objects
into the Dart counterparts. All known Dart Converters have been updated to
convert C++ objects to non-nullable Dart types inferred using type traits of the
corresponding C++ object. The few spots in the engine that used the old Dart
APIs directly have been manually updated. To ensure that no usage of the legacy
APIs remain in the engine (as these would cause runtime process terminations),
the legacy APIs were prefixed with the `DART_LEGACY_API` macro and the macro
defined to `[[deprecated]]` in all engine translation units. While the engine
now primarily works with non-nullable Dart types, callers can still use
`Dart_TypeToNonNullableType` to acquire nullable types for use directly or with
Tonic. One use case that is not addressed with the Tonic Dart Convertors is the
creation of non-nullable lists of nullable types. This hasn’t come up so far in
the engine.

A minor related change is reworking tonic to define a single library target.
This allows the various tonic subsystems to depend on one another. Primarily,
this is used to make the Dart convertors use the logging utilities. This now
allows errors to be more descriptive as the presence of error handles is caught
(and logged) earlier.

Fixes https://github.com/flutter/flutter/issues/59879
2020-10-16 14:53:26 -07:00
Kaushik Iska
1bc025d6cb
[fuchsia] External view embedder will be shared with platform view (#21850) 2020-10-15 17:22:02 -07:00
Adlai Holler
8ec9b3a162
Update more class names from GrContext to GrDirectContext (#21864)
This name change has to do with SkDeferredDisplayList, which Flutter
does not use. As far as Flutter is concerned, this is a no-op.
2020-10-15 16:14:23 -07:00
egdaniel
d95a5dc6ad
Update flutter to pass Skia the VkImageUsageFlags and Samples (#21842)
Previously Skia did not require the clients to pass in the usage flags and Skia would just assumed they contained specific ones depending on how the client wrapped the VkImage. Now Skia allows the client to pass in the specific usage flags used so that Skia knows exactly what type of operations are legal without having to guess/assume what the client did.

Also update to set the sample count as well while I'm in here.
2020-10-14 13:55:09 -07:00
Felipe Archondo
8772365537
[fuchsia] add intercept_all_input flag support (#21821)
[fuchsia] add intercept_all_input flag support

This change also fixes an issue where FlutterRunnerProductConfiguration
crashes when a field is missing, when building with --unopt.

Test: Added unit tests
Bug: fxb/61466, fxb/61942
2020-10-13 22:11:24 -04:00
Alexander Markov
0d151816c3
Remove uses of Dart VM bytecode mode from Flutter engine (#21741) 2020-10-09 16:34:08 -07:00
Jason Simmons
b474a508a7
Remove dependencies on _product variants of libdart from the Fuchsia release mode build (#21668) 2020-10-08 09:55:43 -07:00
David Worsham
d5dddf32e7
fuchsia: Don't send ViewportMetrics w/ 0 DPR (#21392) 2020-10-06 17:57:28 -07:00
Sanjay Chouksey
bede93e532
Hookup view connected/disconnected events for platform view codepath (#21576)
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>
2020-10-05 22:09:38 -07:00
Sanjay Chouksey
af899d6529
Adds response to view requestFocus platformview message (#21550)
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>
2020-10-02 14:20:50 -07:00
Yilong Li
995965d36b
fuchsia: Remove display device availability check from Flutter. (#21495)
When Flutter engine connects to Scenic, Scenic has already
checked the display and graphics device availability before
Scenic starts; so it is guaranteed that display devices are
available and surface is valid when it is created.

Thus this change removes the device watching details from
flutter surface on Fuchsia so that it doesn't need to do
duplicated checks and hides the device-specific details.
2020-10-01 10:08:25 -07:00
Felipe Archondo
3268278834
[fuchsia] fix typo (#21488) 2020-09-29 15:48:52 -05:00
lucasradaelli
20be778250
[fuchsia][a11y] Don't populate hidden state. (#21484) 2020-09-29 10:07:01 -07:00
bungeman
a6a6fd163b
Replace kLegacyFontHost_InitType with kUnknown_SkPixelGeometry. (#21474)
Skia is removing the deprecated legacy display setting globals and
associated kLegacyFontHost_InitType. This change replaces all such uses
with default surface properties with no special flags and an unknown
pixel geometry. Flutter never set the associated globals, leaving them
with their initial default values, which were no special flags and
horizontal RGB pixel geometry. The values used here are different but
this change should make no difference as Flutter never mentions
SkFont::kSubpixelAntiAlias to take advantage of the pixel geometry.
2020-09-29 12:46:08 -04:00
chunhtai
70f7ef0c05
Reland Apply dpr transform to fuchsia accessibility bridge (#21459)
* Reland "Apply dpr transform to fuchsia accessibility bridge (#21364)"

This reverts commit 9db9a57a24ebb749f6372d2380db97d303191ce4.

* fix test
2020-09-28 12:50:53 -07:00
George Wright
ab2b0111f7
Enable embedder_unittests on Fuchsia (#21418) 2020-09-28 11:12:02 -07:00
Zachary Anderson
9db9a57a24
Revert "Apply dpr transform to fuchsia accessibility bridge (#21364)" (#21458)
This reverts commit cf1fbf27195a8ee62758483898e0903622d091a3.
2020-09-28 09:42:50 -07:00
chunhtai
cf1fbf2719
Apply dpr transform to fuchsia accessibility bridge (#21364)
* Apply dpr transform to fuchsia accessibility bridge

* fix format

* addressing comment

* fix typo
2020-09-28 09:24:02 -07:00
Alexander Brusher
de5f2b48fb
Revert "Revert "Adds fuchsia node roles to accessibility bridge updates. (#20385)" (#20936)" (#21367)
This reverts commit 96efe39272a2850092c9a1445dc5406dbe1fb645.
2020-09-25 11:07:10 -07:00
lucasradaelli
9371aabe33
[a11y] Flutter sends node roles as part of Fuchsia semantics updates. (#21329) 2020-09-22 13:57:02 -07:00
Felipe Archondo
b160f971d2
[fuchsia] add frames_in_flight info to trace events (#21302)
No tests needed, since there is no change in functionality expected.
2020-09-22 16:02:49 -04:00
Dan Field
6b62443ddf
Relax test around a11y updates (#21311) 2020-09-22 01:32:02 -07:00
George Wright
978371fd1e
[manual roll] Roll Fuchsia Linux SDK from K2Oiy-AYh... to 2rXyLF0YK (#21308) 2020-09-21 16:37:02 -07:00
Felipe Archondo
12820b573f
[fuchsia] set maxframesinflight to be configurable (#21152)
Add a new field, max_frames_in_flight, to FlutterRunnerProductConfiguration. This allows it to be configurable from Fuchsia.

Tests were added as well to verify the new behavior.
2020-09-17 15:41:03 -04:00
Chris Bracken
08dabe9601
Clean up C++ includes (#21127)
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.
2020-09-11 21:18:35 -07:00
Chris Bracken
16b900b63e
Prefer C++ standard headers to their C counterpart (#21091)
We currently use a mix of C standard includes (e.g. limits.h) and their
C++ variants (e.g. climits). This migrates to a consistent style for all
cases where the C++ variants are acceptable, but leaves the C
equivalents in place where they are required, such as in the embedder
API and other headers that may be used from C.
2020-09-11 17:10:00 -07:00
Alexander Brusher
cd580e2099
Adds increment/decrement actions to fuchsia accessibility bridge. (#21049) 2020-09-09 18:34:38 -07:00
Zachary Anderson
f7c7b41f0a
Revert "Enable lazy-async-stacks by-default in all modes (Take 3) (#20895)" (#21043)
This reverts commit 575a51948d81756c778352b40f639fa557325fd7.
2020-09-09 09:25:17 -07:00
Clement Skau
575a51948d
Enable lazy-async-stacks by-default in all modes (Take 3) (#20895)
Lazy async stacks were already enabled by-default in AOT mode in [0] - which made the
gen_snapshot invocations use "--lazy-async-stacks --no-causal-async-stacks".

This change does the same with the engine defaults, which makes this be enabled
by-default in JIT mode as well.

See go/dart-10x-faster-async for more information.

This is a re-land: A fix for what we believe to have caused the last revert has landed upstream in Dart in dart-lang/sdk@0004589

[0] flutter/flutter@3478232
2020-09-07 10:55:48 +02:00
Alexander Brusher
30b829e7ed
Populates fuchsia node actions in semantics updates. (#20451) 2020-09-03 14:38:36 -07:00
0xZero
ac8b9c4c52
Member variables should appear before the |WeakPtrFactory|. (#20899) 2020-09-03 14:34:01 -07:00
Jim Graham
96efe39272
Revert "Adds fuchsia node roles to accessibility bridge updates. (#20385)" (#20936)
This reverts commit 58a62076559585b167c89531dfb81092d744a552.
2020-09-01 21:21:07 -07:00
Alexander Brusher
58a6207655
Adds fuchsia node roles to accessibility bridge updates. (#20385) 2020-09-01 13:33:02 -07:00
David Worsham
07e2520d5d
fuchsia: create new flutter_runner render path (#19584) 2020-08-28 14:17:17 -07:00
Dan Field
4a88d5e109
Revert hint_freed (#20746)
This caused over-aggressive GCs, which vastly increased CPU usage benchmarks.

* Revert "fix build (#20644)"

This reverts commit b59793ee20be29463fac7a79635bf20253f04107.

* Revert "Hint freed (#19842)"

This reverts commit 3930ac1b25820baee3c67d921a0b009606cb3dae.
2020-08-25 11:55:40 -07:00
Sanjay Chouksey
b6cb1f13dd
Update view attributes after creation (#20638) 2020-08-22 12:46:04 -07:00
David Worsham
4dc866283d
fuchsia: Convert legacy permutations to build flag (#20647) 2020-08-19 19:09:51 -07:00
Dan Field
3930ac1b25
Hint freed (#19842)
* Hint the VM when a layer or picture goes out of scope
2020-08-19 14:04:31 -07:00
egdaniel
8540e001ea
Remove use of ctors on Skia Vulkan struct (#20630)
Skia is removing the ctors on these structs so removing them.
2020-08-19 13:18:25 -04:00
Chase Latta
17e1ae4318
convert zircon and fuchsia to null-safety (#20577) 2020-08-18 13:15:00 -07:00
David Worsham
5a2bf6aa4c
Reland: "fuchsia: Remove dead code / break dependencies" (#20532)
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
2020-08-14 20:41:18 -07:00
David Worsham
da3c9ff53c
Fix unoptimized fuchsia builds (#20488) 2020-08-13 16:12:04 -07:00