3372 Commits

Author SHA1 Message Date
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
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
Kaushik Iska
415e234268 Unique frame number for each frame (flutter/engine#26021)
This gets created during vsync and stays for the
lifecycle of the frame.
2021-05-11 13:59:11 -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
Chris Bracken
4018a4f45b Extract Windows string_conversion target (flutter/engine#26029)
String conversion between UTF-8 and UTF-16 encodings is useful even in
the absence of other common Windows functionality.

This is pre-factoring for 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-07 23:12:27 -07:00
Felipe Archondo
155f71c9b0 [vsync_waiter] add AwaitVSyncForSecondaryCallback() (flutter/engine#25787) 2021-05-07 15:29:05 -04:00
Kaushik Iska
2fead370b3 Streamline frame timings recording (flutter/engine#25892) 2021-05-07 12:14:01 -07:00
David Worsham
1e82ae9b8e fuchsia: Fix multi-views fallout (flutter/engine#25984) 2021-05-07 10:53:07 -07:00
Matej Knopp
5f6eb6479b Implement smooth resizing for Linux (flutter/engine#25884) 2021-05-07 08:44:01 -07:00
gaaclarke
1734ce7f8a Moved PlatformMessage's to unique_ptrs (flutter/engine#25860) 2021-05-06 20:19:01 -07:00
J-P Nurmi
4268ae8f75 [Linux] revise dark theme detection (flutter/engine#25535) 2021-05-06 20:14:01 -07:00
George Wright
65d744bcdf Don't call release_proc when attempting to wrap an SkSurface which fails (flutter/engine#25901) 2021-05-03 16:42:51 -07:00
Tong Mu
0184cd3c70 [Win32] Don't redispatch ShiftRight keydown event (flutter/engine#25882)
Makes Win32 stop redispatching ShiftRight keydown event even if the framework does not handle it.
2021-05-03 15:33:02 -07:00
chunhtai
b80e0baf75 Fixes ios accessibility send focus request to an unfocusable node (flutter/engine#25738) 2021-05-03 13:39:01 -07:00
Dan Field
ce6f1f5fd0 Avoid calling Dart_HintFreed more than once every five seconds (flutter/engine#25827) 2021-05-03 12:19:01 -07:00
xster
7e60885377 Fix crash when both FlutterFragmentActivity and FlutterFragment are destroyed and recreated (flutter/engine#25851) 2021-05-03 09:35:45 -07:00
Dan Field
72f9b50bcd deflake (flutter/engine#25864) 2021-04-30 21:11:03 -07:00