23 Commits

Author SHA1 Message Date
Yuhui Huang
f94cf140c5
Refactor FlRenderer to platform-independent implementation (#24011)
Refactor FlRenderer to platform-independent implementation
2021-02-03 11:31:51 +13:00
Robert Ancell
20991a5985
Add accessibility suport to Linux shell. (#19634)
Add accessibility support to the Linux shell
2021-01-13 13:49:48 +13:00
Greg Spencer
9cb4d2dd24
Make pending event handling more lenient to allow out of order responses (#23504)
This PR makes the Linux key handling code a little more lenient when it comes to the order in which it receives responses to key events from the framework. I had assumed that there wasn't a case where responses could get out of order, but it seems that it is possible, given that you can mash on the keyboard and eventually get one out of order.

This changes the code so that instead of just looking at the first entry in the pending event deque, it searches the deque starting at the beginning to find the event, and remove it.
2021-01-08 10:43:59 -08:00
Greg Spencer
bdadaad20d
Add delayed event delivery for Linux. (#22577)
This changes the text handling so that keyboard events are sent to the framework first for handling, and then passed to the text input plugin, so that the framework has a chance to handle keys before they get given to the text field.

This is complicated by the async nature of the interaction with the framework, since GTK wants a synchronous response. So, in this change, I always tell GTK that the event was handled, and if it wasn't, then I re-dispatch the event once we know one way or the other.
2020-12-03 15:00:37 -08:00
stuartmorgan
bf259226b2
Switch Linux embedding to proc table embedder API (#22280)
Switches the Linux embedding from the standard C API to the new proctable version, to allow for unit testing of the embedding layer separately from the embedder APIs implementation.
2020-11-04 15:12:44 -08:00
Robert Ancell
bd19181117
Add braces on if statements to match linter style (#22130) 2020-11-03 12:32:39 +13:00
Anirudh Balaji
b457e2dd85
Refactor make_mock_engine into fl_test (#21585) 2020-10-29 15:08:03 -07:00
Robert Ancell
5ca5e2614b
Add FlEventChannel (#21316)
Related to https://github.com/flutter/flutter/issues/65270
2020-10-22 15:06:52 -07:00
William Wold
dbab3fc553
Add Linux Wayland support (#20629) 2020-09-16 14:13:06 +12:00
Chris Bracken
16b900b63e
Prefer C++ standard headers to their C counterpart (#21091)
We currently use a mix of C standard includes (e.g. limits.h) and their
C++ variants (e.g. climits). This migrates to a consistent style for all
cases where the C++ variants are acceptable, but leaves the C
equivalents in place where they are required, such as in the embedder
API and other headers that may be used from C.
2020-09-11 17:10:00 -07:00
Chris Bracken
fd17e0846b
Fix linter errors in mock_engine (#21102)
Make a single-param ctor explicit in order to prevent surprising
implicit conversions.

Add a check for zero message-size and don't malloc/memcpy the incoming
message in those cases.

Add braces where they were missing.
2020-09-11 10:27:00 -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
7a022774c2
Improve FlRenderer interface in preperation for Wayland on Linux (#20006) 2020-08-05 12:04:01 +12:00
Robert Ancell
160b268ef1
Set locale in Linux shell (#19470) 2020-07-10 11:16:50 +12: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
Robert Ancell
480afb30ad
Show EGL configuration debugging when fail to create surface/context (#19397) 2020-07-02 09:35:00 +12:00
Robert Ancell
b19a17d5d1
Implement an EGL resource context for the Linux shell. (#18918)
Fixes https://github.com/flutter/flutter/issues/54855
2020-06-11 12:31:06 +12:00
Robert Ancell
0c7f4c7a18
Log EGL errors (#18917) 2020-06-10 06:27:30 +12:00
Robert Ancell
dfdd88deb7
Support AOT mode in GTK shell (#18809)
Simplify FlDartProject by removing the path arguments - we'll assume that it's
in the standard bundle layout and add new methods later if we need to support
other cases.
2020-06-08 13:18:52 +12:00
Robert Ancell
e39301f23f
Add tests for FlBinaryMessenger, FlBasicMessageChannel, FlMethodChannel (#18638) 2020-06-02 09:39:37 +12:00
Robert Ancell
c86dcac156 Revert "Add tests for FlBinaryMessenger, FlBasicMessageChannel, FlMethodChannel (#18597)"
This reverts commit a095cc23d8d5a539fd6179846875d7218c60bdff.
2020-05-28 13:32:26 +12:00
Robert Ancell
a095cc23d8
Add tests for FlBinaryMessenger, FlBasicMessageChannel, FlMethodChannel (#18597)
* Add mock implementations of the Flutter embedding API and EGL
* Add tests for FlBinaryMessenger, FlBasicMessageChannel, FlMethodChannel
2020-05-28 13:13:32 +12:00
Robert Ancell
9ea2db5bac
Add FlMessageCodec, FlBinaryCodec, FlStringCodec (#18186)
Classs for binary message encoding/decoding that matches the ones in the Flutter services library.
2020-05-08 16:13:54 +12:00