955 Commits

Author SHA1 Message Date
puelo
24d3999783
Generate RawKeyEvents for iOS 13.4+ (#65193)
* Added RawKeyEvent support for iOS

* Removed unused remnant

* added some missing keys

* Removed trailing whitespaces

* commit for build

* Added mapping names

* Made iOS keycodes generatable and collectable

* Fixed naming and formatting issues

* fixed raw_keyboard_test
2020-10-22 13:33:51 -07:00
Michael Goderbauer
42f3709a5a
Sound null safety for framework and flutter_test (#68642) 2020-10-21 10:09:11 -07:00
Greg Spencer
8c03ff8c1d
Mark keys that match a shortcut, but have no action defined as "not handled". (#67359)
- - When I added notification of key events before processing them as text, it made it so that shortcut key bindings like the spacebar would prevent spaces from being inserted into text fields, which is obviously not desirable (and so that change was reverted). At the same time, we do want to make it possible to override key events so that they can do things like intercept a tab key or arrow keys that change the focus.

This PR changes the behavior of the Shortcuts widget so that if it has a shortcut defined, but no action is bound to the intent, then instead of responding that the key is "handled", it responds as if nothing handled it. This allows the engine to continue to process the key as text entry.

This PR includes:

- Modification of the callback type for key handlers to return a KeyEventResult instead of a bool, so that we can return more information (i.e. the extra state of "stop propagation").
- Modification of the ActionDispatcher.invokeAction contract to require that Action.isEnabled return true before calling it. It will now assert if the action isn't enabled when invokeAction is called. This is to allow optimization of the number of calls to isEnabled, since the shortcuts widget now wants to know if the action was enabled before deciding to either handle the key or to return ignored.
- Modification to ShortcutManager.handleKeypress to return KeyEventResult.ignored for keys which don't have an enabled action associated with them.
- Adds an attribute to DoNothingAction that allows it to mark a key as not handled, even though it does have an action associated with it. This will allow disabling of a shortcut for a subtree.
2020-10-19 11:26:50 -07:00
Xavier Chrétien
f26fbb6bdd
Set slider semantics flag for sliders (#68019) 2020-10-19 08:12:03 -07:00
Dan Field
12f54e17f4
reland List queue search optimization (#68214)
* Revert "Revert "Improve performance of collectAllElements (#68065)" (#68207)"

This reverts commit 46ff57d6f19360da1da5fbdf0db70c49a716734a.

* use fewer elements for benchmark
2020-10-15 13:46:50 -07:00
Jonah Williams
46ff57d6f1
Revert "Improve performance of collectAllElements (#68065)" (#68207)
This reverts commit 8ba5732c4c874f08d853f30b10f1912efc992cc3.
2020-10-15 08:04:59 -07:00
Dan Field
8ba5732c4c
Improve performance of collectAllElements (#68065) 2020-10-14 21:32:04 -07:00
Jonah Williams
bdfb07dffd
[flutter_test] export fake from flutter_test (#68032)
Fake has been moved from mockito to test to facilitate NNBD, re-export this from flutter_test
2020-10-13 11:38:00 -07:00
Alexandre Ardhuin
4acc790252
enable lint cast_nullable_to_non_nullable (#67629) 2020-10-08 21:05:43 +02:00
Alexandre Ardhuin
0d8d4f77aa
unnecessary null comparison (#67525) 2020-10-08 09:26:30 +02:00
Alexandre Ardhuin
f551178408
migrate material to nullsafety (#67166)
* migrate material to nullsafety

* address review comments

* address review comments

* fix build
2020-10-06 11:36:50 +02:00
Michael Goderbauer
8998167d0f
Make FlutterErrorDetails.exception non-nullable as documented (#67364) 2020-10-05 18:07:02 -07:00
Ming Lyu (CareF)
277a72e3fe
move resampler to handlePointerEvent and fix complex_layout_android__scroll_smoothness with PointerEvent (#66745) 2020-10-05 17:17:03 -07:00
Tong Mu
2cdf2f0059
Treat hover events as normal pointer events, and bring them back to Listener (#63834) 2020-10-05 12:12:04 -07:00
Dan Field
2cdec25877
Reland dispose images when done (#67100) (#67177)
* Reland dispose images when done (#67100)

Changes since last time:

- Test for CanvasKit image rendering
  (https://github.com/flutter/flutter/pull/67176)
- Fix CanvasKit dispose impl
  (https://github.com/flutter/engine/pull/21555)
- Update internal google3 customer with a problematic ImageStream
  Listener impl (cl/335091311, cl/335459002)

This reverts commit 473358d93dd9522970afa82512a4d05685345b3b.
2020-10-05 12:03:27 -07:00
Dan Field
473358d93d
Revert dispose images when done (#67100)
* Revert "docs for image disposal (#67066)"

This reverts commit bcb2ac5a55b90b2ccfd50de4684c0cbb8aca9290.

* Revert "Dispose of images after using them (#66688)"

This reverts commit a7954691dad4788f985cf17e81ce6c474a72e84e.
2020-10-01 16:53:50 -07:00
Kate Lovett
d1178ae73b
Fix local gold output for flutter/flutter (#66139) 2020-10-01 11:17:03 -07:00
Dan Field
a7954691da
Dispose of images after using them (#66688)
* Dispose of images after using them
Adds ImageInfo.clone, ImageInfo.dispose, and ImageInfo.isCloneOf.
Makes all stateful holders of ui.Image objects properly clone and dispose of them.
Behavior change for ImageStreamCompleter: Removing the last listener after registering at least one listener results in the object being disposed, and new listeners cannot be added, unless a keepAlive handle is created.
Makes all non-stateful holders of ui.Image (i.e. paintImage and RawImage) assert that whoever gave the image to them has not disposed it on them.
2020-10-01 09:48:54 -07:00
Michael Goderbauer
19e07d2beb
Migrate flutter_test (#66663) 2020-09-30 17:03:40 -07:00
Mehmet Fidanboylu
95d72bf9d8
Clarify the docs on what scrollUntilVisible does (#65817) 2020-09-30 14:58:13 -07:00
Ming Lyu (CareF)
3c321ac80f
cleanup (#66743) 2020-09-29 15:32:03 -07:00
Alexandre Ardhuin
c2e43403af
apply upcoming lint cast_nullable_to_non_nullable (#66455)
* apply upcoming lint cast_nullable_to_non_nullable

* make RenderObjectElement.renderObject non-nullable
2020-09-27 21:29:42 +02:00
Dan Field
7eb8447485
Allow new methods to be added to ui.Image for tests (#65876)
Remove fake image implementations, add createTestImage to flutter_test
2020-09-22 11:55:39 -07:00
Mouad Debbar
5024e1ea02
[web] Inform the engine when read-only flag is flipped (#65499) 2020-09-17 15:52:04 -07:00
Christian Mürtz
1415078828
Find text containing in tests (#65072) 2020-09-16 16:32:03 -07:00
Michael R Fairhurst
7f3c9b6bda
Remove unused 'dart:async' imports. (#65568) 2020-09-16 14:14:06 -07:00
Tong Mu
a48e14308e
Expose GestureBinding.handlePointerEvent, replacing dispatchEvent as the preferred way to dispatch events (#64846) 2020-09-15 22:17:06 -07:00
Greg Spencer
199a7c1964
Fix the character field of the RawKeyEvent to hold correct data on non-Android platforms. (#65667)
This fixes a problem where the character field of the RawKeyEvent was not being set at all for non-Android platforms.

I also updated the key maps, and corrected a problem with the Windows key map where the backquote character wasn't correctly mapped.
2020-09-15 13:02:16 -07:00
Yuqian Li
e1eddb401d
Revert the revert (#65602) 2020-09-11 16:20:03 -07:00
Ming Lyu (CareF)
28de49e358
Revert "Reland #61998 and update complex_layout ios files (#64885)" (#64990)
This reverts commit df83398687b63762c742e35fbb608d16fee50a7a.
2020-08-31 18:47:08 -07:00
Ming Lyu (CareF)
df83398687
Reland #61998 and update complex_layout ios files (#64885) 2020-08-31 17:23:06 -07:00
Shi-Hao Hong
34541c3073
Revert "A benchmark test case for measuring scroll smoothness (#61998)" (#64883)
This reverts commit 12b7355da11f4a1401492b16677f6e90ce0118b8.
2020-08-30 18:42:10 +08:00
Ming Lyu (CareF)
12b7355da1
A benchmark test case for measuring scroll smoothness (#61998) 2020-08-29 04:28:03 -07:00
Ian Hickson
8a6a76a334
migrate rendering to nullsafety (#64621) 2020-08-27 16:38:10 -07:00
Jonah Williams
41e553bbfc
[flutter_tools] migrate flutter_goldens, flutter_goldens client to null-safety (#64201) 2020-08-24 15:31:05 -07:00
Greg Spencer
041a3eaa84
Standardize the nullability of arguments to raw key data constructors. (#63523)
This standardizes the handling of nullability for the LogicalKeyboardKey.keyLabel and RawKeyEventData.keyLabel accessors so that they are non-nullable, but can be empty.

Before this change, the keyLabel could be either null or an empty string to indicate that there wasn't a label, which makes it harder to test for, since both need to be checked for. Since an empty string is sufficient, there is no need for it to be nullable.

Also, in raw_keyboard.dart, the web and Windows implementations wouldn't accept null values for parameters in the Map coming from the message, but tests were supplying null for some of them. This makes web and Windows creation of events match the other platforms, and makes the migration of tests to non-nullability easier.
2020-08-19 15:03:17 -07:00
Greg Spencer
d1eff0b413
Hook up soft keyboard "next" and "previous" buttons so that they move the focus by default (#63592)
Focus will be moved automatically if onEditingComplete is not specified, but must
by moved manually if onEditingComplete is specified.
2020-08-18 16:46:58 -07:00
Ming Lyu (CareF)
2c716c4d49
add vsync overhead to FrameTimingSummarizer (#63835) 2020-08-17 16:51:04 -07:00
Ming Lyu (CareF)
04759e8559
doc typo spelling fix (#63817) 2020-08-17 12:21:08 -07:00
Jonah Williams
08254b2156
Revert "Remove TODOs added for HTTP abort() change in dart sdk (#63924)" (#63972)
This reverts commit b1c17313f6cbcd1f7ec083a943b28a076809eb0a.
2020-08-17 10:25:01 -07:00
zichangg
b1c17313f6
Remove TODOs added for HTTP abort() change in dart sdk (#63924) 2020-08-17 09:46:08 -07:00
Ming Lyu (CareF)
c2368bdd6f
bug fix for pointer id in test gestures (#63816) 2020-08-15 10:41:02 -07:00
Konstantin Scheglov
236507f058
Provide the argument for a required parameter 'data'. (#63728) 2020-08-14 16:46:03 -07:00
Michael Goderbauer
39a46bedad
Remove decommission from RestorationBuckets (#63687) 2020-08-13 15:01:04 -07:00
Nils Reichardt
337c5cfc52
Update finders.dart (#63600) 2020-08-13 11:30:34 -07:00
Ming Lyu (CareF)
0629030a05
WidgetTester.drag with time duration (#63410) 2020-08-12 21:01:03 -07:00
Jonah Williams
04bc6123a9
[null-safety] update to several framework test cases/APIs for null assertions (#62946) 2020-08-12 13:41:09 -07:00
LongCatIsLooong
cea055ef00
Make Scrollable's free scroll initial velocity matches that of iOS (#60501) 2020-08-12 13:31:05 -07:00
Ming Lyu (CareF)
b09dee59bf
add FrameTimingSummarizer (#63434) 2020-08-11 06:21:04 -07:00
Ming Lyu (CareF)
2965d81ae9
update for WidgetTester.move and WidgetTester.fling doc (#63390) 2020-08-10 21:21:03 -07:00