4335 Commits

Author SHA1 Message Date
Alexander Brusher
c73e679ebf [fuchsia][a11y] Set explicit hit regions per compositor layer on GFX. (flutter/engine#33852) 2022-06-16 11:28:00 -07:00
Callum Moffat
072058b4fe Reland "ChromeOS/Android trackpad gestures" (flutter/engine#34060)
* Android trackpad gestures

* Try to fix lint problem
2022-06-15 17:34:51 -07:00
Chris Yang
edad53fa5e iOS: Remove a11y workaround that disables the a11y when app is resigned. (flutter/engine#34086) 2022-06-15 20:38:04 +00:00
Chris Yang
ef9fb575ad iOS Accessibility: during layout change, only specify the focus object when it is changed. (flutter/engine#33972) 2022-06-15 10:08:05 -07:00
Matej Knopp
651843b2da [macOS] Put FlutterTextInputPlugin in view hierarchy (flutter/engine#33827) 2022-06-15 12:11:36 +02:00
Emmanuel Garcia
a01c2201b5 Reland: Re-enable scenario tests on Android (flutter/engine#34048) 2022-06-14 21:03:04 -07:00
Tong Mu
02e21614cc Revert "ChromeOS/Android trackpad gestures (#31595)" (flutter/engine#34046) 2022-06-14 14:18:56 -07:00
Emmanuel Garcia
f99e4563b9 Prevent TalkBack from announcing view in non-virtual a11y hierarchies (flutter/engine#34017) 2022-06-14 12:03:05 -07:00
Callum Moffat
20d8f266ac iPad trackpad gestures (flutter/engine#31591) 2022-06-13 20:48:04 -07:00
Chinmay Garde
16731be1a7 [Impeller] Allow for the specification of pipeline stage information at runtime. (flutter/engine#33882)
Towards implementing the FragmentProgram API in Impeller.

Specifies an Impeller specific format for data the renderer can use to create
pipelines with user supplied shader stages at runtime.

The data is in the form of a flatbuffer with a known schema.

This patch implements the wire format, creating and loading the program
payloads, and creating pipeline state objects using these payloads.

If the user supplied SPIRV intended for the older API, the loader will reject
this invalid payload. This is probably not going to be too much of an issue
because the FragmentProgram API will probably be modified to only allow buffers
loaded from asset managers. But still, in the meantime, I am using the old API
to pass these new buffers.

Fixes https://github.com/flutter/flutter/issues/104750
Fixes https://github.com/flutter/flutter/issues/105542
Towards resolving https://github.com/flutter/flutter/issues/102853
2022-06-13 18:33:00 -07:00
Callum Moffat
0720db98cc ChromeOS/Android trackpad gestures (flutter/engine#31595) 2022-06-13 17:03:04 -07:00
Jonah Williams
728640769b dont pixel snap raster cache if SUPPORT_FRACTIONAL_TRANSLATION is enabled (flutter/engine#34002) 2022-06-13 16:43:05 -07:00
Emircan Uysaler
7e533dc3cb [fuchsia] Remove to be deprecated pixel_scale field (flutter/engine#33932)
Bug: https://bugs.fuchsia.dev/p/fuchsia/issues/detail?id=102163
2022-06-13 11:30:27 -04:00
Rulong Chen(陈汝龙)
e915cd6a6b [android] Fixes 'drawRenderNode called on a context with no surface' crash (flutter/engine#33655) 2022-06-13 03:58:05 -07:00
Alexander Biggs
581afe50aa [fuchsia] Stop unimplemented TextInput from log spamming. (flutter/engine#33811) 2022-06-11 12:43:05 -07:00
J-P Nurmi
f7d46e29c2 [Linux] take first steps towards testable text input (flutter/engine#33661)
This PR is a continuation of #33111 and includes necessary changes to test the `TextInputType.setClient()` platform channel call. Testing the actual text input flow requires a mock IM context that will follow in a separate PR.

* [Linux] pass GdkWindow instead of FlView to FlTextInputPlugin
* [Linux] add MockBinaryMessenger::ReceiveMessage()
* [Linux] add test for TextInputType.setClient
* Drop the offscreen window

GdkOffscreenWindow requires display & screen which is a problem in
headless mode. Luckily, we don't really need a window instance in tests
because its only passed as a client window to the IM context which will
be mocked out when we get to tests that depend on it.
2022-06-10 11:17:22 -07:00
Alexander Markov
8292927857 Remove uses of --lazy-async-stack Dart VM flag (flutter/engine#33964) 2022-06-10 10:12:56 -07:00
Camille Simon
af20f79b0e Stop sending text to framework (flutter/engine#33892) 2022-06-08 17:13:01 -07:00
Dan Field
45633ced2a Purge resources on rasterizer teardown (flutter/engine#33890) 2022-06-08 16:58:04 -07:00
gaaclarke
166029f3a1 Added flag to disable the dart profiler on iOS (flutter/engine#33907) 2022-06-08 12:28:04 -07:00
Kaushik Iska
7a71b8cbb3 [android] set presentation time via eglPresentationTimeANDROID (flutter/engine#33881)
Attempt to reland: https://github.com/flutter/engine/pull/29727/ with some fixes.
2022-06-08 12:49:58 -04:00
gaaclarke
3800433d1d Added plist flag for enabling trace-systrace. (flutter/engine#33889) 2022-06-08 09:08:06 -07:00
Tamir Duberstein
772bf7b078 [fuchsia] Update embedder integration test docs (flutter/engine#33879)
//garnet/packages/testing is being removed; update the references to
run_test_component's source location. While I'm here, update
instructions to refer to `fx test`.
2022-06-07 13:44:17 -04:00
Kaushik Iska
d5be7dccbc transform bounds to device space before sending to vmservice (flutter/engine#33853) 2022-06-06 14:28:04 -07:00
Zachary Anderson
7976841a64 Revert "Re-enable scenario tests on Android (#33574)" (flutter/engine#33813)
This reverts commit ab51155132d7815f51dd2f73c9843eff5174482c.
2022-06-03 13:53:28 -07:00
Zachary Anderson
1790d5a019 Adds a python formatter (flutter/engine#33797)
* Adds a python formatter

* Apply format
2022-06-03 13:00:14 -07:00
ColdPaleLight
b1ad898b4e Correct the frame timing in 'Rasterizer::Draw' when pipeline is more available (flutter/engine#32283) 2022-06-03 10:18:06 -07:00
Emmanuel Garcia
ab51155132 Re-enable scenario tests on Android (flutter/engine#33574) 2022-06-03 08:53:05 -07:00
Kaushik Iska
af6bbe756d Move the args for GLContextPresent into a struct (flutter/engine#33758)
This refactor enables easier additions to the method
for fields that can be optionally consumed by various
platforms.
2022-06-01 23:11:37 -04:00
Gary Qian
c2fb536113 Upgrade android SDK to API 32 (flutter/engine#33524) 2022-06-01 18:58:04 -07:00
Kaushik Iska
916f9bcab5 Fix layer tree snapshot values (flutter/engine#33753) 2022-06-01 10:18:05 -07:00
moko256
601e178945 [Windows] Google Japanese Input, composing text doesn't rendered after commit text partially (flutter/engine#33605)
Reproducible steps is in flutter/flutter#102021.

Fixes flutter/flutter#102021.

No changes in [flutter/tests] repo.
2022-05-31 18:01:55 -07:00
Chris Yang
d303a310a6 PlatformView to set the correct overlay view frame, merge thread at the endFrame (flutter/engine#33262) 2022-05-31 14:42:34 -07:00
Tong Mu
78adf103bf Reland No.2 "Hardware Keyboard: Android" (flutter/engine#33686)
* Original code

* Changes

* Fix and test

Better formatted tests
2022-05-31 13:00:39 -07:00
Shivesh Ganju
3cfb7658cc [fuchsia] Fix precision errors occuring in layer tree frame size. (flutter/engine#33669)
This PR fixes the precision error which occurs when casting a double to int32, causing an incorrect physical display size to be propagated in
the layer tree ultimately causing input events on the left edge of the
display to be dropped.
2022-05-31 09:42:25 -07:00
Naud Ghebre
a84b408f8d Dart test runner: Pass name of the test dart component to test_manager via tast_case (flutter/engine#33665) 2022-05-29 01:20:23 -04:00
hellohuanlin
5bbb2437e2 Add focus support for platform view (flutter/engine#33093) 2022-05-27 23:33:02 -07:00
Chris Bracken
56fbdd0232 [lint] Enforce k prefix for global constants (flutter/engine#33666)
Enforces that all global constants are prefixed with a 'k' as per the
style guide and updates the codebase into conformance where necessary.

This does not change any public API.

Additional testing provided by the addition of the lint rule.

Ref: https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo#begin-global-constant-names-with-prefix-k
2022-05-27 18:33:38 -07:00
J-P Nurmi
f35001f852 [Linux] fix typos in FlAccessibleNode docs (flutter/engine#32651) 2022-05-27 13:28:31 -07:00
Chris Bracken
2b84fdf8cb [macOS] Document onKeyboardLayoutChanged (flutter/engine#33663)
Replaces a TODO with documentation. No tests changed, since this change
simply adds a missing doc comment.
2022-05-27 12:48:10 -07:00
Shivesh Ganju
61a5c8873c [fuchsia] remove Fuchsia-specific kVsyncTraceName from VsyncWaiter. (flutter/engine#33519)
This CL changes the vsync trace name to "VsyncProcessCallback". The
benchmarks in fuchsia currently support "VsyncProcessCallback" and "vsync callback". After this change, support for "vsync callback" can be safely removed from fuchsia benchmarks.

Test: fx test host_x64/knowledge_card_test

Bug: 73367
2022-05-27 12:04:12 -07:00
Michael Goderbauer
782679ce66 Move platform-specific stuff from macOS FVC to FlutterEngine (flutter/engine#33234) 2022-05-27 09:56:28 -07:00
moko256
94fa5033bf [Windows] Pass a function which returns ScopedClipboardInterface instead of ScopedClipboardInterface to PlatformHandlerWin32 (flutter/engine#33609) 2022-05-27 04:33:04 -07:00
Chris Yang
bf761b4c12 Fix test: make sure end_frame_latch is signaled after accessing the used_this_frame flag (flutter/engine#33649) 2022-05-26 20:02:20 -07:00
Emmanuel Garcia
f4887a67d3 Fix Android platform view resize and direction in nested layouts. (flutter/engine#33645) 2022-05-26 19:50:04 -07:00
Chris Bracken
19696ceb2e [macOS] Fix some incorrectly-named string constants (flutter/engine#33647)
Renames from `FooBarBaz` to `kFooBarBaz` in line with style guide.

No tests since no functional changes are being made.

Ref: https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo#begin-global-constant-names-with-prefix-k
2022-05-26 18:37:58 -07:00
Chris Yang
190118f789 Set UsedThisFrame before EndFrame (flutter/engine#33627) 2022-05-26 14:10:04 -07:00
J-P Nurmi
12ac248051 [Linux] FlTextInputPlugin: use FlView as GTK IM client window (flutter/engine#33111)
GTK IM operates in [coordinates relative to its client window](https://docs.gtk.org/gtk3/method.IMContext.set_cursor_location.html#:~:text=The%20location%20is%20relative%20to%20the%20client%C2%A0window.). Let GTK
IM use the native window that backs FlView, which is the same native
window that is used for key event processing - see GDK_KEY_XXX_MASK in
fl_view_realize().

This is an important step towards testable FlTextInputPlugin because it
eliminates the depency to GtkWidget's coordinate translation API and
that way paves the road for replacing FlTextInputPlugin's FlView
instance with a plain GdkWindow. In tests, that window can be an
instance of GdkOffscreenWindow.

There are no tests included yet but after a few more refactoring steps
it will be possible to execute tests like this: [fl_text_input_plugin_test.cc](f2e0d91b59/shell/platform/linux/fl_text_input_plugin_test.cc).
The other refactoring steps are visible at [jpnurmi/engine/commits/text-input-plugin](https://github.com/jpnurmi/engine/commits/text-input-plugin).
2022-05-26 13:08:06 -07:00
Sophie Winter
86379d5cb3 Force GTK IM context to initialize at start (flutter/engine#32118)
Fixes https://github.com/flutter/flutter/issues/100385
2022-05-26 13:07:34 -07:00
Zachary Anderson
8e85a8d270 Fixes a few asan errors (flutter/engine#33632) 2022-05-26 07:29:50 -07:00