2713 Commits

Author SHA1 Message Date
Kaushik Iska
3dc81635db
[android] Pass synthesized eventType to VirtualDisplay platform views and fix memory leak (#19620) 2020-07-09 18:06:02 -07:00
gaaclarke
9345347587
Added the ability to set properties in interface builder for FlutterViewController. (#19458) 2020-07-09 17:23:32 -07:00
Robert Ancell
f3ab78dc1f
Fix clipboard paste functionality not working (#19489) 2020-07-10 11:34:23 +12:00
Robert Ancell
c479b93708
Fix documentation of unset platform view ID (#19320) 2020-07-10 11:17:14 +12:00
Robert Ancell
160b268ef1
Set locale in Linux shell (#19470) 2020-07-10 11:16:50 +12:00
stuartmorgan
6726a467a8
Implement cursor support for Windows (#19459)
Implements the basic engine support for Windows for
https://github.com/flutter/flutter/issues/31952
2020-07-09 11:18:39 -07:00
Justin McCandless
033c373730
Make DPAD movement consider grapheme clusters (#17420)
Moving the caret with the software Dpad now correctly considers complex characters.
2020-07-08 13:59:58 -07:00
gaaclarke
41c503cc23
Changed iOS channels to start cleaning up the accessibility handler when the bridge is deleted (#19556)
Started cleaning up the accessibility handler when the bridge is
deleted and made nilling out channels safer by making sure they don't
overwrite newly setup handlers.
2020-07-08 13:26:29 -07:00
Kaushik Iska
40d3f7c64e
Propoagate Tap events on Android hybrid views (#19608)
Translate the coordinate from global flutterview to the specific embedded sub-view.
2020-07-08 13:19:17 -07:00
Dan Field
eab9b7f2a4
Call Dart_NotifyLowMemory more on iOS (#19289) 2020-07-08 04:44:03 -07:00
Chinmay Garde
0dc86cda19
Only attempt surface creation in viewDidLayoutSubviews if the application is active. (#19592)
UIKit does not guarantee that the application is in the active state when it
lays out it subviews. However, in `viewDidLayoutSubviews`, Flutter attempts to
create the render surface and wait for the first frame. These operations require
GPU access which is forbidden when in the background on iOS. This layout while
in the background only seems to happen under very specific circumstances as
described in the reproducible test case. Notably, this behavior cannot be
reproduced when the application is just launched with the "Background Fetch"
XCode run scheme. The other instance of invocations to create the rendering
surface have been audited and I can confirm that those are already in the
correct lifecycle callbacks. This was the only instance where the surface
creation was in a non-lifecycle callback.

Fixes https://github.com/flutter/flutter/issues/55969
(This issue has a clear reproducible test case and was used as the basis for
verification.)
Fixes https://github.com/flutter/flutter/issues/57676
(This is significantly harder to reproduce but the issue looks to be the same. I
tried this patch on multiple devices overnight and could not reproduce this.)

This underlying cause here was identified by the enhanced GPU error reporting
introduced in iOS 14. I am not able to submit those patches because the Beta
builders are not available on infra. I will submit those when available so that
issues like this have more actionable error messages in the future.
2020-07-07 17:14:01 -07:00
Chase Latta
b919945af8
include list_libraries.dart as a snapshot for fuchsia (#19567) 2020-07-07 11:16:50 -07:00
James Clarke
d0d6a4c236
Refactor Win32FlutterWindow in preparation for UWP windowing implementation (#18878)
* Add flutter_windows_view and window_binding_handler

Switch input handling infra to FlutterWindowsView

win32_flutter_window implement WindowBindingHandler

Strip unneeded functionality from win32flutterwindow

Fulfill WindowBindingHandler interface in Win32FlutterWindow

Add implementations for missing input handling in Win32FlutterWindow

Cleanup dead code

Correctly hook up rendering again

Fix resizing

clang-format

Fix clipboard

Cleanup

Rename

Add comments

cleanup

* clang-format

* CR Feedback

* clang-format; gn format

* Fix licensing

* CR feedback

* CR feedback

* CR feedback

* Git rid of unnecessar :: prefixes

* Extract WindowBindingHandlerDelegate as an interface

* Missing file

* Extract physical window bounds as a struct

* CR Feedback

* CR feedback

* clang-format

Co-authored-by: Stuart Morgan <stuartmorgan@google.com>
2020-07-07 06:49:51 -07:00
Kaushik Iska
110a57983b
Track motion events for reuse post gesture disambiguation (#19484)
This change makes it so that we track all the motion events encountered by `FlutterView` and all of its subviews in the `MotionEventTracker` class, indexed by a unique `MotionEventId`. This identifier is then passed to the Flutter framework as seen in https://github.com/flutter/flutter/pull/60930. Once the gestures take part in gesture disambiguation and are sent back to the engine, we look-up the original motion event using the `MotionEventId` and dispatch it to the platform.

Bug: https://github.com/flutter/flutter/issues/58837
2020-07-06 22:22:37 -07:00
Emmanuel Garcia
5f8e91cc40
Resubmit frame when the surface is switched (#19555) 2020-07-06 21:55:52 -07:00
Emmanuel Garcia
0e9b250843
Add @Keep annotation to FlutterMutatorsStack (#19560) 2020-07-06 18:23:47 -07:00
Emmanuel Garcia
d1f3037c4c
Switch to FlutterSurfaceView if no Android view is in the frame (#19487) 2020-07-06 14:51:46 -07:00
Chris Yang
cc9ccf98ae
Implement mutator stack on Android hybrid composition platform view (#19426) 2020-07-04 13:03:04 -07:00
renyou
cee437e8d1
Revert "Add tests & --unopt to build_fuchsia_artifacts (#18625)" (#19494)
This reverts commit fae8141f9f5f64bd9aad8d53f031f2416bf82ec8.
2020-07-03 13:26:19 -07:00
renyou
6184f62897
Revert "fuchsia: Fix profile build (#19399)" (#19493)
This reverts commit a974b78117dca341473207eb63b8d6ccb06587c3.
2020-07-03 13:26:00 -07:00
Robert Ancell
acd026ed3f
Use the X visual from the EGL configuration when making an FlView. (#19438) 2020-07-03 09:37:51 +12:00
Kaushik Iska
f8bbcc396b
Synthesize touch events for hybrid views (#19427)
Co-authored-by: Kaushik Iska <kaushikiska@google.com>
2020-07-02 12:31:30 -07:00
Kaushik Iska
f74c0f0e83
FlutterView will hadle dispatching all touch events to sub-views (#19482) 2020-07-02 12:31:10 -07:00
Guruji Panda
01345f5372
Fix paths in source and yaml files to minimize changes in google3 (#19414) 2020-07-01 16:13:03 -07:00
Robert Ancell
480afb30ad
Show EGL configuration debugging when fail to create surface/context (#19397) 2020-07-02 09:35:00 +12:00
Emmanuel Garcia
6e1f795f87
Revert unintended change (#19435) 2020-06-30 19:48:01 -07:00
Emmanuel Garcia
0e82628caf
Update scenario UI screenshoots (#19421) 2020-06-30 18:38:06 -07:00
Alexandre Ardhuin
218d98f4d8
Operator equals (#19303)
* use Object for operator==

* apply style guide for operator==
2020-06-30 23:16:31 +02:00
Jason Simmons
2dc202d823
Basic support for resizing overlay surfaces in hybrid composition (#19402) 2020-06-30 14:08:04 -07:00
liyuqian
e9e59f4e2b
Use FixtureTest to remove duplicate code (#19219)
Fixes https://github.com/flutter/flutter/issues/59109
2020-06-30 10:55:38 -07:00
David Worsham
a974b78117
fuchsia: Fix profile build (#19399) 2020-06-29 17:35:35 -07:00
David Worsham
fae8141f9f
Add tests & --unopt to build_fuchsia_artifacts (#18625)
We can build unoptimized code for easier debugging with this flag.
2020-06-29 16:39:15 -07:00
Emmanuel Garcia
a28b7f0f37
Implement onDisplayPlatformView (#19344) 2020-06-26 21:08:02 -07:00
David Worsham
4cd3ec077d
Fix broken mac/fuchsia compiles (#19339) 2020-06-26 14:53:54 -07:00
David Worsham
220a831028
Move fuchsia/scenic integration behind #define (#19003)
Additionally create "_next" permutations for all of the test binaries
on Fuchsia, in order to test both code-paths.

Using the #define follow-up CLs can also create a flutter_runner_next
binary that does not contain any legacy integration code.

BUG: 53847
2020-06-26 14:03:18 -07:00
Emmanuel Garcia
c332675a8c
Fix hybrid composition bugs (#19325) 2020-06-26 12:33:02 -07:00
Jason Simmons
b3b1f4351a
Fix ImageReader "unable to acquire a buffer item" warnings in FlutterImageView (#19319) 2020-06-26 11:18:03 -07:00
Gary Qian
559d93d978
Android native locale resolution algorithm (#19266) 2020-06-26 02:48:33 -07:00
Robert Ancell
fcdc1dbc36
Replace GLFW key codes with native Flutter GTK support (#19196)
Fixes https://github.com/flutter/flutter/issues/57603
2020-06-26 13:56:18 +12:00
Sanjay Chouksey
e9edf32d40
Add PlatformView support for Fuchsia (#19132)
* Add PlatformView support for Fuchsia

This change allows embedding views provided by fuchsia components into
a flutter app running on Fuchsia. This conforms to Flutters idiomatic
approach to composite PlatformView alongside other rendered layers.

This uses the `view embedder` infrastructure to allow
`PlatformViewLayer`
to hold fuchsia views. This is meant to eventually supplant the legacy
`SceneHost` and `ChildViewLayer` mechanism to embed fuchsia `ChildView`.

To see how this will get used check out:
https://fuchsia-review.googlesource.com/c/experiences/+/398536/6/examples/hello_experiences/lib/fuchsia_view.dart

Includes unittests for platform_view.cc.

Note: This change has no impact on the legacy code to embed fuchsia
views.

* Rename OnCreateViewMethodCall to OnCreateView

Same for OnDestroyViewMethodCall to OnDestroyView

Co-authored-by: Sanjay Chouksey <sanjayc@google.com>
2020-06-25 16:27:39 -07:00
Robert Ancell
f267ef5837
Add a flag to enable dart:mirrors (#19112)
Fixes https://github.com/flutter/flutter/issues/59233
2020-06-26 11:17:15 +12:00
Jason Simmons
2b74e8ae8c
Position overlay layer views in PlatformViewsController.onDisplayOverlaySurface (#19295) 2020-06-24 20:48:38 -07:00
Jason Simmons
0c14126211
Initial work toward converting the FlutterView to use a FlutterImageView on demand (#19279) 2020-06-24 16:26:03 -07:00
Dan Field
35d7d4aa6c
Make Shell::NotifyLowMemoryWarning trace (#19283) 2020-06-24 15:58:02 -07:00
Chris Yang
a11c398481
Android platform view static thread merging (#19242) 2020-06-24 15:13:02 -07:00
Emmanuel Garcia
24d2143b98
EndFrame should be always called by rasterizer (#19257) 2020-06-24 14:02:48 -07:00
Emmanuel Garcia
9075224c77
Move OnDisplayPlatformView JNI call (#19258) 2020-06-24 11:01:30 -07:00
Emmanuel Garcia
b8b134a666
Fix format (#19261) 2020-06-24 09:14:00 -07:00
gaaclarke
2a9fed87a7
Made [SemanticsObject setAccessibilityContainer] a noop. (#19249) 2020-06-23 20:34:48 -07:00
Jason Simmons
2b6c71c4d3
Reland "Implement PlatformViewsController.createOverlaySurface" (#19245) 2020-06-23 12:03:02 -07:00