3391 Commits

Author SHA1 Message Date
chunhtai
fa0b88fcb2 Fixes iOS refuses to accept semantics rect update if UISwitch is not … (flutter/engine#26416)
* Fixes iOS refuses to accept semantics rect update if UISwitch is not in the view

* update
2021-05-26 16:29:12 -07:00
Chris Bracken
3814ea2bf6 Fix iOS key events in platform views (flutter/engine#26412) 2021-05-26 15:44:02 -07:00
Kaushik Iska
41ba3d48d1 Make resume dart microtasks static to avoid capturing vsync waiter (flutter/engine#26440)
This avoids the race where vsync waiter was shutdown before the tasks on
ui task runner got flushed.

Fixes: https://github.com/flutter/flutter/issues/82024
2021-05-26 16:52:36 -05:00
Tong Mu
00e9f108c1 Hardware Keyboard: Linux (GTK) (flutter/engine#23467)
Linux (GTK) changes for the Hardware Keyboard project.
2021-05-25 18:04:03 -07:00
Darren Chan
8f8f34ad04 Add Handle.replace(int rights). (flutter/engine#26408)
Add support for zx_handle_replace.

This is related to https://fxbug.dev/68600.

handle_test has been updated and tested in fuchsia.git locally. Additional tests are added for Handle.duplicate.
2021-05-25 19:04:33 -04:00
Darren Chan
a18e76809f Remove build timestamp from build_info.h. (flutter/engine#26403)
Remove build timestamp as it is not updating correctly and it would mark
the build as dirty, triggering a rebuild.

Bug: https://fxbug.dev/73263
2021-05-25 14:43:46 -04:00
David Worsham
efff0a7bb1 fuchsia: Fix View create vs render race (flutter/engine#26368) 2021-05-24 17:46:23 -07:00
chunhtai
d3f4069e34 Sets a11y traversal order in android accessibility bridge (flutter/engine#26335) 2021-05-24 15:34:02 -07:00
Kaushik Iska
d7774b2f1b Fix race with engine destruction in Shell (flutter/engine#26369) 2021-05-24 13:57:45 -07:00
Naud Ghebre
cf2ff1193d [vm_service] Add vm service port to inspect. (flutter/engine#26295)
fxb/75455
2021-05-24 13:39:17 -04:00
Matej Knopp
46516e5327 MacOS: Do not send key event if modifiers flags haven't changed (flutter/engine#26347)
* MacOS: Do not send key event if modifiers flags haven't changed

Fixes https://github.com/flutter/flutter/issues/77535

* Extend unit test

* Comment typo
2021-05-23 23:51:42 +02:00
Gary Qian
4ba3454b35 Handle only asset-only deferred components case (flutter/engine#26333) 2021-05-21 17:08:01 -07:00
chunhtai
70e1f8a459 prevent ios accessibility bridge from sending notification when modal (flutter/engine#26328) 2021-05-21 17:04:06 -07:00
lucasradaelli
757d7c0d03 [fuchsia][a11y] Adds inspect data to the a11y bridge. (flutter/engine#25868)
This change adds inspect data to the a11y bridge, which can be requested
via the command line.

Inspect nodes are lazy computed, meaning that they are only processed
when invoked, so no extra space is used during normal use.

Bug: fxbug.dev/75100

Test: AccessibilityBridgeTest.InspectData
2021-05-21 14:21:22 -07:00
Darren Chan
d67fdf5256 Provide the following information to the inspect tree: (flutter/engine#26179) 2021-05-21 11:09:02 -07:00
Chris Bracken
83ef606f12 [uwptool] Move Launch, Uninstall to AppStore class (flutter/engine#26315)
This refactoring moves the Application Launch and Uninstall methods to
the ApplicationStore class. This simplifies writing tests for Command
classes since the Application class is now a plain old data class, and
ApplicationStore can be replaced with a fake implementation for hermetic
testing, while I'll do in a follow-up patch.

Bug: https://github.com/flutter/flutter/issues/83072
2021-05-21 09:40:06 -07:00
Chris Bracken
2527c54071 [uwptool] Refactor command-handling to a map (flutter/engine#26309)
Extracts each of the commands (listapps, install, uninstall, launch)
into a command class that is registered at startup. This simplifies
adding further commands, and cleans up the code a bit.

This is a refactoring that introduces no changes to existing functionality.
2021-05-21 07:35:53 -07:00
Brandon DeRosier
a83c8ab61d Refactor: Group together externally-managed UIDartState. (flutter/engine#26247)
Group together externally-managed UIDartState.

It's a frequent pattern to enable access to shell resources from the
framework via UIDartState. These handles are passed through several
other objects, where they lay mostly dormant. This refactor just aims
to ease maintenance of this state.

UIDartState is essentially just an easy to extend bus for dropping
off the shell kids in UIDartState, with constructors/operators that
remove the need for providing a full initializer lists in unittests.
2021-05-20 18:01:53 -07:00
Felipe Archondo
75a3755481 Fix VsyncWaiter (flutter/engine#25551)
This PR accomplishes many things:
- Unblocks input resampling on Fuchsia
- Fixes 2 frame scheduling issues resulting in wasted work and missed frames
- Removes the now-defunct VsyncRecorder class
- Prepares the VsyncWaiter class for the Embedder API by moving all logic out of it
- Adds hundreds of lines of unittests for Fuchsia scheduling logic to validate the performance and correctness benefits
2021-05-20 15:50:58 -04:00
Emmanuel Garcia
562e87e3f4 Fix hybrid composition case and enable test (flutter/engine#26272) 2021-05-19 20:44:03 -07:00
Jason Simmons
dcb08fa9ae Capture the layer tree pipeline as a weak pointer in the OnAnimatorDraw task (flutter/engine#26210) 2021-05-19 14:39:05 -07:00
Kaushik Iska
516e15a502 Fix frame request tracing (flutter/engine#26237) 2021-05-19 10:54:02 -07:00
Jonah Williams
75017d4e26 plumb frame number through to framework (flutter/engine#26233) 2021-05-19 09:59:01 -07:00
Matej Knopp
dc1c45a5c5 FlView: Handle leave-notify-event (flutter/engine#26181)
* FlView: Handle leave-notify-event

Fixes https://github.com/flutter/flutter/issues/82648

* Fix leave notify during mouse grab

* Send kAdd pointer event on enter notify
2021-05-19 12:56:00 +02:00
Kaushik Iska
a3d8f47cd7 Add frame number to trace events so dev tools can associate the right frame (flutter/engine#26205) 2021-05-18 14:58:44 -07:00
David Worsham
9061c700c6 fuchsia: Fix occlusion_hint handling (flutter/engine#26208) 2021-05-18 09:15:50 -07:00
Brandon DeRosier
b9982cdec7 Add image generator registry (flutter/engine#25987)
Add image generator protocol and priority registry.

The protocol supports multi-frame images as well as optional
subpixel/downsampled decoding.
2021-05-17 12:12:46 -07:00
David Worsham
19c353f785 fuchsia: Improve checking/logging for composition (flutter/engine#26166) 2021-05-17 09:45:02 -07:00
Chris Bracken
fcbf9016d5 Adds uwptool install command (flutter/engine#26183)
Installs the package pointed to by a URI, as well as its dependencies.
2021-05-16 11:15:48 -07:00
Emmanuel Garcia
23f32a5cee Fix composition when multiple platform views and layers are combined (flutter/engine#26158) 2021-05-14 15:19:01 -07:00
gaaclarke
3f52b2c153 eliminated the copies when sending data to and from objc (flutter/engine#25988) 2021-05-14 15:04:02 -07:00
Chris Bracken
776cec5c28 Revert "Fix composition when multiple platform views and layers are combined (#25900)" (flutter/engine#26142)
This appears to be reliably crashing the devicelab
linux_android_view_scroll_perf__timeline_summary test.

Example crashes:
* https://ci.chromium.org/ui/p/flutter/builders/prod/Linux%20android_view_scroll_perf__timeline_summary/1369/overview
* https://ci.chromium.org/ui/p/flutter/builders/prod/Linux%20android_view_scroll_perf__timeline_summary/1370/overview

This reverts commit e222385589b62add0b88efbe5d51858f96419c4d.
2021-05-13 18:50:54 -07:00
James Clarke
dc724ea5d9 Windows: UWP ViewController accepts a CoreApplicationView and exposes to plugins (flutter/engine#25879) 2021-05-13 17:18:23 -07:00
Robert Ancell
88f7648d42 Fix GIR transfer annotation 2021-05-14 11:03:33 +12:00
chandarrengoog
4d05199f5b Add support for System.channelWriteEtc and System.channelQueryAndReadEtc. (flutter/engine#26050) 2021-05-13 15:34:02 -07:00
Felipe Archondo
2043d0839a [fuchsia] rename SessionConnection to DefaultSessionConnection (flutter/engine#26104)
In preparation for #25551, rename SessionConnection to
DefaultSessionConnection. The plan is to have SessionConnection be an
interface we can create a fake of for testing purposes.
2021-05-13 17:59:16 -04:00
Yuanyao Zhong
93bb74ba46 Add missing semantics flag for embedder (flutter/engine#25932)
Add in flags kFlutterSemanticsFlagIsSlider and kFlutterSemanticsFlagIsKeyboardKey
from SemanticsFlags.
2021-05-13 14:37:56 -07:00
Emmanuel Garcia
e222385589 Fix composition when multiple platform views and layers are combined (flutter/engine#25900) 2021-05-13 11:44:01 -07:00
Chris Bracken
b1600cc95f [uwptool] Add uninstall command (flutter/engine#26122)
Adds an uninstall command that uninstalls the specified application by
its package family name.

This currently attempts to remove for all users, but in future, we may
want to restrict install and uninstall to the current user only.

Also renames ApplicationStore::GetInstalledApplications() to
ApplicationStore::GetApps()
2021-05-13 11:28:20 -07:00
gaaclarke
4d98fd9744 Switch PlatformMessages to hold data in Mappings (flutter/engine#25867) 2021-05-13 10:28:25 -07:00
Chris Bracken
5f4bd9b2e5 [uwptool] Support lookup of full package name (flutter/engine#26121)
UWP apps must be launched using their package family name, but are
uninstalled using their full package name. This patch updates the
Application class to store both.

Further, when launching UWP apps, we now do a lookup to verify the
package exists before attempting to launch it.
2021-05-13 09:02:27 -07:00
Chris Bracken
25714c4696 Use PackageManager to locate installed UWP apps (flutter/engine#26120)
Replaces manual registry crawling with a lookup via
Windows.Management.Deployment.PackageManager. This eliminates the need
for the Registry class.

Covered by existing tests.

Issue: https://github.com/flutter/flutter/issues/81756
2021-05-13 08:03:03 -07:00
Jason Simmons
7641bf1f5b Add an allowlist flag for Skia trace event categories (flutter/engine#25985) 2021-05-13 07:54:02 -07:00
Chris Bracken
78d954d556 Revert "Sped up the objc standard message codec (#25998)" (flutter/engine#26117)
This appears to have triggered reproducible failures in channels_integration_test_ios:

    [   +4 ms] 00:01 [32m+0[0m: channel suite step through[0m
    [+3744 ms] Unsupported value: Sun Mar 11 07:16:42 2018 of type __NSTaggedDate
    [        ] *** Assertion failure in void WriteValue(CFMutableDataRef, id)(), FlutterStandardCodec.mm:340
    [   +2 ms] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Unsupported value for standard codec.'
    [        ] *** First throw call stack:
    [        ] (0x19d5bd9d8 0x1b1940b54 0x19d4cc50c 0x19e815238 0x1050031ec 0x104823f80 0x105003aac 0x1050009bc 0x104824e9c 0x105000b4c 0x104d0cc98 0x10501b398 0x104fb3c94 0x104fb72c4 0x19d53e3e0 0x19d53dfe4 0x19d53d4c4 0x19d537850 0x19d536ba0 0x1b429c598 0x19fe282f4 0x19fe2d874 0x1048257fc 0x19d215568)
    [        ] libc++abi.dylib: terminating with uncaught exception of type NSException
    [  +65 ms] Process 541 stopped
    [        ] * thread #1, queue = 'com.apple.main-thread', stop reason = signal SIGABRT
    [        ]     frame #0: 0x00000001c93e584c libsystem_kernel.dylib`__pthread_kill + 8
    [        ] libsystem_kernel.dylib`__pthread_kill:
    [        ] -> 0x1c93e584c <+8>:  b.lo   0x1c93e5868               ; <+36>
    [        ]    0x1c93e5850 <+12>: stp    x29, x30, [sp, #-0x10]!
    [        ]    0x1c93e5854 <+16>: mov    x29, sp
    [        ]    0x1c93e5858 <+20>: bl     0x1c93c2f5c               ; cerror_nocancel
    [        ] Target 0: (Runner) stopped.

Example builds:
* https://ci.chromium.org/ui/p/flutter/builders/prod/Mac_ios%20channels_integration_test_ios/828/overview
* https://ci.chromium.org/ui/p/flutter/builders/prod/Mac_ios%20channels_integration_test_ios/829/overview
* https://ci.chromium.org/ui/p/flutter/builders/prod/Mac_ios%20channels_integration_test_ios/830/overview
* https://ci.chromium.org/ui/p/flutter/builders/prod/Mac_ios%20channels_integration_test_ios/831/overview

Example Log:
* https://logs.chromium.org/logs/flutter/buildbucket/cr-buildbucket.appspot.com/8847377106855056784/+/u/run_channels_integration_test_ios/stdout

This reverts commit 8fc40819e9f66337239aef143b72177a012f302a.
2021-05-12 22:43:43 -07:00
Chris Bracken
c364718981 Use a comma-separated args string for UWP (flutter/engine#26110)
UWP apps get a single arguments string on launch rather than an array.
The current implementation splits that args string on commas. This
updates the UWP launch args generation to match.

Part of https://github.com/flutter/flutter/issues/81756
Part of https://github.com/flutter/flutter/issues/82085
2021-05-12 17:11:11 -07:00
gaaclarke
46ccd1d5f3 Added exception if you try to reply with a non-direct ByteBuffer. (flutter/engine#25952) 2021-05-12 16:12:38 -07:00
Chris Bracken
2a789db343 Set exitcode to 0 on successful uwptool launch (flutter/engine#26105)
Also adds some user-friendly messages to stderr to aid with any
debugging, and emits the PID to stdout.

Part of https://github.com/flutter/flutter/issues/81756
2021-05-12 14:03:15 -07:00
Hrishikesh Kadam
578a22a54e Update documentation for embedding SplashScreen (flutter/engine#25943) 2021-05-12 13:59:02 -07:00
gaaclarke
8fc40819e9 Sped up the objc standard message codec (flutter/engine#25998)
Sped up the StandardMessageCodec for iOS, tiny tweaks about 5% gain.
2021-05-12 10:45:36 -07:00
David Worsham
d77416d365 fuchsia: Fix first_layer handling (flutter/engine#26085) 2021-05-11 23:10:54 -07:00