2931 Commits

Author SHA1 Message Date
Jeff Ward
2438363a2e Add Float32List support to StandardMessageCodec (flutter/engine#26386) 2021-05-27 14:49:02 -07:00
Darren Chan
d7ed065392 Add todo to handle_test. (flutter/engine#26453) 2021-05-27 13:19:02 -07:00
gaaclarke
8137eddf08 android platform channels: moved to direct buffers for c <-> java interop (flutter/engine#26331) 2021-05-27 13:09:02 -07:00
Gary Qian
d3de3f1f24 Fix deferred components startup threading and improve .so search algorithm. (flutter/engine#26429) 2021-05-26 19:27:20 -07:00
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
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
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
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
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
David Worsham
9061c700c6 fuchsia: Fix occlusion_hint handling (flutter/engine#26208) 2021-05-18 09:15:50 -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
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
Chris Bracken
82199aacc5 Add uwptool.exe (flutter/engine#26038)
uwptool is a helper tool used by the flutter command-line tool. It can
be thought of as analogous to adb for Android or libimobiledevice for
iOS.

Its core functions are:
* List installed apps. (included in this patch)
* Launch an app with a set of launch arguments. (included in this patch)
* Install an app (included in a later patch).
* Uninstall an app (included in a later patch).

Part of https://github.com/flutter/flutter/issues/81756
2021-05-11 15:01:24 -07:00
Jason Simmons
9cc475c98c Return a maximum nanoseconds value in FlutterDesktopEngineProcessMessages (flutter/engine#26026) 2021-05-10 13:29:01 -07:00
Mohit Kanwal
16fda154a3 Remove unused parameter. (flutter/engine#25940) 2021-05-10 13:19:01 -07:00
Chris Bracken
0b6166c139 Support windows registry access (flutter/engine#26032)
The Windows registry is structured as a hierarchy of named keys, each of
which may contain a set of named values of various datatypes.
RegistryKey objects own the underlying HKEY handle and ensure cleanup at
or prior to destruction.

This adds a RegistryKey class that does automatic resource management
for registry keys and provides convenience functions for accessing keys
and navigating the key hierarchy.

This is library code to be used in uwptool, which adds an adb-like
helper tool for install, uninstall, and launch of UWP applications for
Windows platforms.

See: https://github.com/flutter/flutter/issues/81756
2021-05-08 11:20:04 -07:00
Chris Bracken
83dcf51c7b Use string_view inputs for conversion functions (flutter/engine#26031)
This offers a small improvement in performance in cases where the input
is a raw char* or wchar_t* string due to not having to perform an
implicit conversion to std::string/std::wstring.

Code cleanup covered by existing tests, which already use raw C strings.
2021-05-08 11:17:41 -07:00