2673 Commits

Author SHA1 Message Date
Emmanuel Garcia
c4c4f341b8
Wait for first frame before checking layer tree (#20910) 2020-08-31 15:03:31 -07:00
xster
5f49a95499
Add auto plugin registration to FlutterFragmentActivity as well (#20865) 2020-08-31 13:43:46 -07:00
Emmanuel Garcia
5e54c707e8
Reland: Enable hybrid composition by default on Android (#20722) (#20864)
This reverts commit 4de62c7c2659607acdc75ab8c1ccd305a3c6f9d1.
2020-08-31 12:17:11 -07:00
Emmanuel Garcia
52f62f14f7
Fix race condition (#20905) 2020-08-31 10:11:41 -07:00
xster
15f5696c41
Add a java injector for testing (#20789) 2020-08-29 22:29:23 -07:00
Emmanuel Garcia
1b0c684326
Add ability to disable the raster thread merger (#20800) 2020-08-28 17:25:00 -07:00
Greg Spencer
88fd13fcd3
Reland: Implement delayed event synthesis key event handling for Android (#20736)
This re-lands the key event synthesis implementation for Android (Original PR: #19024, Revert PR: #19956). The only difference is sending the synthesized key events to the root view instead of the current view.

Without sending it to the root view, the system doesn't have any chance of handling keys like the back button. The event will still not be sent to the framework twice, since we turn off event propagation while re-dispatching the event.
2020-08-28 14:45:38 -07:00
David Worsham
07e2520d5d
fuchsia: create new flutter_runner render path (#19584) 2020-08-28 14:17:17 -07:00
William Wold
1a034bde75
Replace FlRenderer::get_visual() with more generic FlRenderer::setup_window_attr() (#20833) 2020-08-28 14:31:34 +12:00
William Wold
dcb9244c38
Consolidate FlRenderer initialization into fl_renderer_start() (#20763) 2020-08-28 09:57:14 +12:00
Mehmet Fidanboylu
569fd19357
Reland "Pass platform configuration to Dart VM for insecure socket policy (#20733)"
This reverts commit 77dd1c05b99d137b5b348598f69ec75c93e0a433.
2020-08-27 14:23:31 -07:00
Chris Yang
2d3e1c58c5
|MessageLoopImpl::FlushTasks| runs one task at a time (#20771) 2020-08-27 14:18:02 -07:00
Jason Simmons
fc4da62b8c
Ignore calls to AccessibilityBridge listeners after release (#20701)
AccessibilityBridge installs various listeners for Android events
that invoke Flutter engine APIs.  These listeners are removed in
AccessibilityBridge.release.  However, in some environments there may
be deferred calls to the listener that will still execute even after
the listener has been removed.  This change sets a flag during release
and ignores any listener invocations that happen after the flag is set.

See https://github.com/flutter/flutter/issues/63555 and
https://github.com/flutter/engine/pull/17311
2020-08-27 12:24:33 -07:00
renyou
77dd1c05b9
Revert "Pass platform configuration to Dart VM for insecure socket policy (#20733)" (#20812)
This reverts commit d241105d7a840a7ba88bc2c0ce4a9f415f83aaab.
2020-08-27 08:23:30 -07:00
David Worsham
c866edcbc3
fuchsia: Call out legacy rasterizer code (#20761) 2020-08-26 19:36:14 -07:00
Gary Qian
93f17e9ea6
Use Android R (API 30) getInsets() to compute padding (#18339) 2020-08-26 18:15:40 -07:00
Kaushik Iska
1892e031f2
[embedder] Add gl present callback that takes present info (#20672) 2020-08-26 15:53:01 -07:00
Kaushik Iska
5952760acf
Revert "[fuchsia] Adds a test for clock change (#19993)" (#20790)
This reverts commit 3fe49ec35d38342407a230d8860a4d647e436ae5.
2020-08-26 12:29:03 -07:00
chunhtai
8308b6ad8c
Avoid passing nil to IOS accessibility announcement (#20700) 2020-08-26 10:38:03 -07:00
Filip Filmar
3fe49ec35d
[fuchsia] Adds a test for clock change (#19993)
This is a Fuchsia-only shell test, confirming that when the timezone
setting is changed on the realm via Fuchsia's FIDL interface
`fuchsia.settings.Intl`, the Dart isolate running in that realm receives
the change and starts reporting the appropriate timestamp.

We already have a [similar test][tst] that verifies the timezones in the
dart VM matches the local timezone at start, but there was no test that
also verified timezone changes.

[tst]: https://github.com/flutter/engine/blob/master/shell/common/shell_unittests.cc#L1166

See issue #61284
2020-08-25 16:24:25 -07:00
Emmanuel Garcia
45f09403d8
Fix EGL_BAD_SURFACE when app is paused (#20735) 2020-08-25 12:39:40 -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
Mehmet Fidanboylu
d241105d7a
Pass platform configuration to Dart VM for insecure socket policy (#20733) 2020-08-25 10:56:03 -07:00
Maksim Lin
57fdf0a1fb
send newline char when input type is multiline (#20660) 2020-08-25 10:51:02 -07:00
Emmanuel Garcia
4de62c7c26
Revert "Enable hybrid composition by default on Android (#20722)" (#20745)
This reverts commit d16ba48e1d79cf0197e96c51c38300ee921baeb0.
2020-08-25 09:54:13 -07:00
Emmanuel Garcia
d16ba48e1d
Enable hybrid composition by default on Android (#20722) 2020-08-24 13:10:23 -07:00
David Worsham
782f08280c
fuchsia: Clean shell_unittests under FEMU (#20704) 2020-08-24 12:47:31 -07:00
Chris Yang
1c13abaab1
The ForwardingGestureRecognizers to have back reference to the PlatformViewsController so it can access FlutterViewController when its available (#20708) 2020-08-24 12:41:02 -07:00
Chinmay Garde
9939c26bd2
Fix race condition and data race in FrameInfoContainsValidWidthAndHeight. (#20706)
The data race: gl_surface_fbo_frame_infos_ in the test context to was appended
to on the raster task runner but read on the platform task runner. This is now
sidestepped by using a callback and pushing that responsibility to the test.
Setting the callback is guarded behind a mutex.

The race condition: The assertions were previously run when the UI thread was
done generating the frames. However, the assertions were run on the results
collected on the raster thread in response the frame requests from UI thread.
Just run the assertions on the raster thread directly.

Fixes https://github.com/flutter/flutter/issues/64344
2020-08-24 11:48:13 -07:00
Sanjay Chouksey
b6cb1f13dd
Update view attributes after creation (#20638) 2020-08-22 12:46:04 -07:00
LI DONGZE
da5eb26b5d
Reporting back native stacktrace to dart side for crash reporting. (#20280)
* Add native stacktrace on iOS

* Add native stacktrace on Android

* format and changing naming to errorWithCode on iOS

* reformat

* Remove stacktrace from decodeEnvelope, not needed.

* Separate encodeErrorEnvelopeWithStacktrace with original encode function

* Add unit tests

* re-format

* change comments for stacktrace

* Remove changes for iOS

Co-authored-by: Ben Li <libe@google.com>
2020-08-21 19:59:36 -07:00
Chris Yang
b6035062ff
Enable ios platform view by default (#20671) 2020-08-20 17:46:01 -07:00
stuartmorgan
498dbc6dc1
[windows] Mostly eliminate the state structs (#20662)
The Windows embedding was based on the GLFW embedding, which grew
organically from a singe-file implementation that used structs to manage
all of the important state. It is in the process of being converted to a
cleaner object-based architecture, but currently it is a hybrid of
objects and structs that have redundant data, making it very prone to
errors of forgetting to update pointers in multiple locations.

This reduces the remaining structs to only a single pointer to the
larger object that manages the responsibilities that handle is
associated with, so that there is no need to wire things together in
multiple places.

For now they continue to exist as projections of the larger objects, but
that will be eliminated over time by having an object structure that
better reflects the API structure.

Fixes https://github.com/flutter/flutter/issues/64250
2020-08-20 16:50:06 -07:00
Kaushik Iska
38a302960f
All shape related structs are together (#20665) 2020-08-20 15:21:02 -07:00
stuartmorgan
60b8d00865
Use references for C++ MethodResult and EventSink (#20651)
The response APIs for method channels and event channels used pointers
for optional parameters; this kept the API surface simple, but meant
that they couldn't take rvalues. As a result, returning success values
or error details often took an extra line, declaring a variable for the
result just to have something to pass the address of.

This converts them to using references, with function overloading to
allow for optional parameters, so that values can be inlined.

For now the pointer versions are still present, so that conversion can
be done before it becomes a breaking change; they will be removed soon.

Part of https://github.com/flutter/flutter/issues/63975
2020-08-20 15:10:28 -07:00
David Worsham
4dc866283d
fuchsia: Convert legacy permutations to build flag (#20647) 2020-08-19 19:09:51 -07:00
James Clarke
89f506ed62
Fix flutter#40068 Redraw issues on resize/minimize/maximize on Windows and startup in release (#20357)
* Fix redraw issues

* Address CR feedback.

* Fix build

* CR feedback
2020-08-19 16:19:09 -07:00
Kaushik Iska
26fe9125b5
[embedder] Add FBO callback that takes frame info (#20617) 2020-08-19 16:06:02 -07:00
Dan Field
b59793ee20
fix build (#20644) 2020-08-19 14:35:45 -07:00
Jason Simmons
d41e10bd75
Release the AccessibilityBridge when destroying a legacy FlutterView (#20610) 2020-08-19 14:11:02 -07:00
chunhtai
ccaee70b05
Missing default focus when navigating to a page with no SemanticsNode that sets namesRoute:true (#20516) 2020-08-19 14:06:03 -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
Stas Parshin
8177937133
Fix NPE in PlatformViewsController.checkInputConnectionProxy (#20622) 2020-08-19 08:34:04 -07:00
Chris Yang
e7136c3f59
Ensure threads are merged when tearing down the Rasterizer (#19919) 2020-08-19 08:31:01 -07:00
stuartmorgan
dcbe3d3d3d
[windows] Allow delegation of top-level WindowProc (#20613)
Adds APIs for runners to delegate WindowProc handlers into the Flutter
engine, and for plugins to register as possible delegates.

This allows for plugins to alter top-level window behavior in ways that
can only be done from the WindowProc, such as resize control. This
functionality remains entirely on the native side, so is synchronous.

Part of https://github.com/flutter/flutter/issues/53168
2020-08-19 06:49:39 -07:00
David Worsham
04dfe890d1
fuchsia: Increase timeout for flaky test (#20606) 2020-08-18 17:14:30 -07:00
Chase Latta
17e1ae4318
convert zircon and fuchsia to null-safety (#20577) 2020-08-18 13:15:00 -07:00
Emmanuel Garcia
615679865a
Reland: Create PlatformView instance right after method channel call from Dart (#20568) 2020-08-17 16:28:15 -07:00
gaaclarke
7b9ac278c9
Revert "Create PlatformView instance right after method channel call from Dart (#20500)" (#20564)
This reverts commit 9333b7c1d0ac7b2ae97998df116fcb0f99b1f26f.
2020-08-17 11:17:03 -07:00