1139 Commits

Author SHA1 Message Date
Casey Hillers
5506cc5b15
Remove no longer needed clean up code (#44408) 2019-11-14 09:38:12 -08:00
Michael Goderbauer
bcc93bca23
Make disposing a ScrollPosition with pixels=null legal (#44617) 2019-11-13 11:31:20 -08:00
Tong Mu
01f4f1ac55
ModalBarrier and Drawer barrier prevents mouse events (#44296)
* Add opaque to barriers
* Detect opaque and test
2019-11-12 18:25:53 -08:00
Greg Spencer
028ed7122a
Synchronize modifier keys in RawKeyboard.keysPressed with modifier flags on events. (#43948)
Currently, we listen to keyboard events to find out which keys should be represented in RawKeyboard.instance.keysPressed, but that's not sufficient to represent the physical state of the keys, since modifier keys could have been pressed when the overall app did not have keyboard focus (especially on desktop platforms).

This PR synchronizes the list of modifier keys in keysPressed with the modifier key flags that are present in the raw key event so that they can be relied upon to represent the current state of the keyboard. When synchronizing these states, we don't send any new key events, since they didn't happen when the app had keyboard focus, but if you ask "is this key down", we'll give the right answer
2019-11-06 14:52:55 -08:00
chunhtai
ed82bb821c
revert add new enum change (#44281) 2019-11-06 11:07:24 -08:00
chunhtai
7aebde1904
added new lifecycle state (#39945)
* added new lfecycle state

* update

* update
2019-11-05 20:03:09 -08:00
Yegor
f6eb129597
fix text tests on the web (#44021) 2019-11-05 10:05:16 -08:00
Kate Lovett
11e1c24069
SliverAppBar - Configurable overscroll stretch with callback feature & FlexibleSpaceBar support (#42250) 2019-11-04 17:10:26 -08:00
Nurhan Turgut
97cf355b9d
Adding handling of TextInputClient.onConnectionClosed messages handli… (#43466)
* Adding handling of TextInputClient.onConnectionClosed messages handling to Framework

* Adding more test cases for closing connection to editable_text_test

* fixing analyze error.

* Fixing analyze error in the test file

* Fixing comments on the new method

* Adding more closing connection examples.

* Indentation change

* Remove auto-add white space

* Changing the oncloseconnection behaviour to stop editing. Updating the tests

* Addressing PR comments. Added explicit log for method channnels to the tests. Added comments to the interfaces.

* add more documentation
2019-11-04 13:35:18 -08:00
Brian Egan
2e41483384 Add "navigator" option to "showDialog" and "showGeneralDialog" (#42842) 2019-11-01 11:16:32 -07:00
Greg Spencer
3a30722fda
Add convenience accessor for primaryFocus (#43859)
This adds accessors for WidgetsBinding.instance.focusManager and WidgetsBinding.instance.focusManager.primaryFocus so that they can be more easily found in IDEs and accessed.

This adds a top level getter for WidgetsBinding.instance.focusManager.primaryFocus called primaryFocus, and a static accessor FocusManager.instance that returns WidgetsBinding.instance.focusManager.
2019-10-31 18:02:31 -07:00
Gary Qian
f9b8d688cf
Reorder show and setEditingState calls to the IMM (#43865) 2019-10-31 13:28:48 -07:00
Michael Goderbauer
07a09c4b70
Mark routes as opaque when added without animation (#43756) 2019-10-31 11:32:19 -07:00
Michael Goderbauer
99fd65e79a
Remove print and fix code formatting (#43843) 2019-10-30 17:15:52 -07:00
Erick (CptBlackPixel)
8b09a53252 Fixing focus traversal when the node options are empty (#43238)
Fixes directional focus traversal when there are no available nodes to traverse to.
2019-10-30 14:54:29 -07:00
Greg Spencer
a1c5e3354b
Re-Land: Add focus nodes, hover, and shortcuts to switches, checkboxes, and radio buttons. (#43657)
This re-lands the change that adds focus nodes, hover, and shortcuts to switches, checkboxes, and radio buttons. (#43213), with fixes for the web tests that weren't enabled in the master that it was synced to when I first landed it.
2019-10-29 17:09:26 -07:00
Yegor
5f6ca6838e
Enable heroes_test.dart on the web matrix (#43662) 2019-10-29 12:23:16 -07:00
Justin McCandless
6e888dac24
Add enableSuggestions flag to TextField and TextFormField (#42550)
This flag controls Android's keyboard suggestions on/off
2019-10-28 15:31:52 -07:00
Greg Spencer
38f2d27685
Revert "Re-Land: Add focus nodes, hover, and shortcuts to switches, checkboxes, and radio buttons. (#43384)" (#43647)
This reverts commit 8017f63b083474d0ba28457e48acbb35d15a727a, since it breaks web tests.
2019-10-28 11:28:09 -07:00
Albertus Angga Raharja
b31ca1aaca
Add more structure to errors (continuation of #34684) (#42640)
* Add structured errors in Animations, TabView, ChangeNotifier

* Add structured error on MaterialPageRoute, BoxBorder, DecorationImagePainter, TextSpan

* Add structured errors in Debug

* Fix test errors

* Add structured errors in Scaffold and Stepper

* Add structured errors in part of Rendering Layer

* Fix failing test due to FloatingPoint precision

* Fix failing tests due to precision error and not using final

* Fix failing test due to floating precision error with RegEx instead

* Add structured error in CustomLayout and increase test coverage

* Add structured error & its test in ListBody

* Add structured error in ProxyBox and increase test coverage

* Add structured error message in Viewport

* Fix styles and add more assertions on ErrorHint and DiagnosticProperty

* Add structured error in scheduler/binding and scheduler/ticker

Signed-off-by: Albertus Angga Raharja <albertusangga@google.com>

* Add structured error in AssetBundle and TextInput

Signed-off-by: Albertus Angga Raharja <albertusangga@google.com>

* Add structured errors in several widgets #1

Signed-off-by: Albertus Angga Raharja <albertusangga@google.com>

* Remove unused import

Signed-off-by: Albertus Angga Raharja <albertusangga@google.com>

* Add assertions on hint messages

Signed-off-by: Albertus Angga Raharja <albertusangga@google.com>

* Fix catch spacing

Signed-off-by: Albertus Angga Raharja <albertusangga@google.com>

* Add structured error in several widgets part 2 and increase code coverage

Signed-off-by: Albertus Angga Raharja <albertusangga@google.com>

* Add structured error in flutter_test/widget_tester

* Fix floating precision accuracy by using RegExp

Signed-off-by: Albertus Angga Raharja <albertusangga@google.com>

* Remove todo to add tests in Scaffold showBottomSheet

Signed-off-by: Albertus Angga Raharja <albertusangga@google.com>

* Fix reviews by indenting lines and fixing the assertion orders

Signed-off-by: Albertus Angga Raharja <albertusangga@google.com>

* Fix failing tests due to renaming class

Signed-off-by: Albertus Angga Raharja <albertusangga@google.com>

* Try skipping the NetworkBundleTest

Signed-off-by: Albertus Angga Raharja <albertusangga@google.com>

* Remove leading space in material/debug error hint

Signed-off-by: Albertus Angga Raharja <albertusangga@google.com>
2019-10-28 11:00:49 -07:00
Justin McCandless
109f25588d
No multiline password fields (#42470)
Use assertions to prevent multiline password fields from being created
2019-10-28 10:59:26 -07:00
Greg Spencer
8017f63b08
Re-Land: Add focus nodes, hover, and shortcuts to switches, checkboxes, and radio buttons. (#43384)
This re-lands the change that adds focus nodes, hover, and shortcuts to switches, checkboxes, and radio buttons. (#43213)

No changes from original, except for finding the right RenderBox in dev/integration_tests/android_semantics_testing/test_driver/main_test.dart.
2019-10-28 10:55:11 -07:00
Gary Qian
652fb975c1
FadeInImage cacheWidth and cacheHeight support (#43286) 2019-10-25 17:33:50 -07:00
Kate Lovett
7bc02037e3
Re-land Local & Pre-Submit Support for Skia Gold (#43371) 2019-10-25 15:05:21 -07:00
Yegor
02abd00e93
Cupertino web tests (#43529)
* enable more tests after material fixes
* enable some of the Cupertino tests
2019-10-25 15:03:25 -07:00
Stefano Rodriguez
bcab851b8f Set default borderRadius to zero in ClipRRect (as documented) (#43006)
* Set default borderRadius to none in ClipRRect

* add tests
2019-10-24 11:05:29 -07:00
Jonah Williams
c9ec26ee29
Revert "[Chip] Make sure InkResponse is in the foreground on delete for chips with background color (#41463)" (#43391)
This reverts commit 588275e179379c957c4b7acf5cea1d2d1f2d6ce0.
2019-10-23 18:11:47 -07:00
Per Classon
588275e179
[Chip] Make sure InkResponse is in the foreground on delete for chips with background color (#41463)
* Make sure InkResponse is visible on delete for chips with background color set

* Override computeDistanceToActualBaseline in layout builder
2019-10-23 17:55:46 -07:00
Jonah Williams
ed36fe5ddd
Revert "Add focus nodes, hover, and shortcuts to switches, checkboxes, and radio buttons. (#43213)" (#43367)
This reverts commit 900067207e50622c119639e103f77ea6e2da68ad.
2019-10-23 12:29:58 -07:00
Greg Spencer
900067207e
Add focus nodes, hover, and shortcuts to switches, checkboxes, and radio buttons. (#43213)
In order to enable keyboard navigation to more controls, I've added focus nodes to switches, checkboxes, and radio buttons. In addition, this change enables mouse hover over these controls.

- Added tests for focus, hover, and shortcut activation for Checkbox, Radio, and Switch.
2019-10-23 11:22:22 -07:00
Kate Lovett
3a3939a7fa
Revert "Skia Gold Support for Local & PreSubmit Testing in package:flutter (#40710)" (#43227)
This reverts commit 8df0d6556dd5ce5931fe79c8b177d7930d188c1f.
2019-10-21 17:31:54 -07:00
Kate Lovett
8df0d6556d
Skia Gold Support for Local & PreSubmit Testing in package:flutter (#40710) 2019-10-21 16:45:56 -07:00
Kate Lovett
83878683c0
Re-landing SliverAnimatedList (#42485) 2019-10-21 16:44:55 -07:00
Tong Mu
1c535de7e0
Soften layer breakage (#42953)
* Replace hard break of Layer.find/All with findAllAnnotations
* Deprecate findAll
2019-10-18 16:40:42 -07:00
Greg Spencer
560873af92
Wire up canRequestFocus and skipTraversal in FocusScopeNode (#43013)
This adds a canRequestFocus and skipTraversal argument to FocusScope and FocusScopeNode, so that a scope can prevent being traversed.

This allows a fix for a problem in the gallery where the focus while traversing the list of items would sometimes appear to disappear, since it would be focusing things that were in the backdrop that were part of the tree, but were not visible.

Related Issues
Fixes #42955
2019-10-18 12:31:15 -07:00
Michael Goderbauer
ddca78b4b7
Fix memory leak in TransitionRoute (#42777) 2019-10-17 15:51:45 -07:00
Greg Spencer
a7aa66164e
Re-implement hardware keyboard text selection. (#42879)
This re-implements keyboard text selection so that it will work on platforms other than Android (e.g. macOS, Linux, etc.).

Also, fixed a number of bugs in editing selection via a hardware keyboard (unable to select backwards, incorrect conversion to ASCII when cutting to clipboard, lack of support for CTRL-SHIFT-ARROW word selection, etc.).

Did not address the keyboard locale issues that remain, or add platform specific switches for the bindings. All that will need some more design work before implementing them.

Related Issues
Fixes #31951
2019-10-17 15:11:44 -07:00
Greg Spencer
3afdd08af4
This disables the up/down arrow focus navigation in text fields in a different way. (#42790)
In #42533, I disabled the up/down arrows for focus navigation in text fields, but we thought of a better way to do it, so this is that better way.

This change reverts the other change, and instead it tests the context of the node in the action to see if it's an EditableText node. If so, then it doesn't do the navigation action.
2019-10-17 15:01:22 -07:00
Gary Qian
3bbf54d79f
Reland "Expose API for resizing image caches #41415" (#42785) 2019-10-16 14:15:13 -07:00
Yegor
86f069f1c0
Add most of the widget tests; add more web test shards (#42807) 2019-10-16 09:18:44 -07:00
Jason Simmons
fb33b7a1b8
Use placeholder dimensions that reflect the final text layout (#42558)
The _computeChildren[Width/Height]With[Min/Max]Intrinsics methods in
RenderParagraph overwrite the text painter's placeholder dimensions
in order to compute potential widths and heights for the paragraph.

The placeholder dimensions should be restored to the values computed by
_layoutChildren before painting the text.
2019-10-15 10:17:52 -07:00
Jonah Williams
7f8e89b5dc
Revert "Expose API for custom image decode and cache sizes (#41415)" (#42764) 2019-10-15 08:42:55 -07:00
Gary Qian
b857632306
Expose API for custom image decode and cache sizes (#41415) 2019-10-15 00:07:32 -07:00
Greg Spencer
134ac429cf
Optimize focus operations by caching descendants and ancestors. (#42683)
This optimizes certain paths in the FocusManager, FocusNode, and FocusScopeNode classes in order to fix a regression in stock_animation_open_first_frame_average when I added more focus nodes to the tree to do focus traversal.

Mainly I removed some remaining sync* iterators, and also started caching the computation of descendants and ancestors, since those are iterated over fairly often.

This improves stock_animation_open_first_frame_average by about 2.8% overall (so about half of a 4.9% regression, both averaged over 10 runs).

Addresses #42564
2019-10-14 18:50:38 -07:00
Tong Mu
ebde5e253f
Change modal barrier to dismissing on tap up (#42253)
* Change modal barrier to tap up

* Verify dismiss happen at release
2019-10-14 14:19:18 -07:00
Greg Spencer
e2c5fd6c24
Fix route focusing and autofocus when reparenting focus nodes. (#42554)
This fixes a problem with reparenting of focus nodes where it would remove the node from the scope's focused children when reparented, even if it was being reparented to another place under the same scope. This only occurred if the scope in question didn't have focus.

This caused nodes to not get autofocused when they were a child of another node within the scope, and were reparented, and then the scope was given focus (as when a route is pushed).

This keeps the node in the scope's child list where it was if the node is reparented under a parent within the same scope.

- Added a test that tries to autofocus a TextField when the route is pushed and there is another 
  FocusNode above the text field. This was how this was first noticed: the autofocus got ignored in 
  this configuration.

- Added a test to focus_manager_test that tests for the specific case of reparenting a node when 
  it's in the focused children of the scope.
2019-10-14 12:32:06 -07:00
Tong Mu
0aafdfa55a
Redo: Rewrite MouseTracker's tracking and notifying algorithm (#42486)
* Revert "Revert "Rewrite MouseTracker's tracking and notifying algorithm (#42031)" (#42478)"

This reverts commit eede792923ece2d76106c9e0742c45000be48834.

* Fix tests
2019-10-11 10:10:56 -07:00
Greg Spencer
ce1509714c
Re-land keyboard traversal PRs (#42278)
This attempts to reland #40186 and #41220, that were reverted in #41945.

The main modifications from the original PRs are that I predefine the shortcuts and actions maps instead of defining them inline in the build function, and I use a new mapEquals to do a deep comparison so that we don't rebuild modified things if the contents of the map haven't changed.

I also eliminated an operator== and hashCode that were defined on the Actions widget, since widgets shouldn't have those. (it's too bad though: I get an 85% speedup if we leave this in! Too bad it prevents rebuilding of the children...)

Fixes #40101
2019-10-10 13:49:33 -07:00
Tong Mu
a71d69ba67
Add opacity control to MouseRegion. Add findAnnotations to Layer. (#37896)
* Adds a new parameter bool opaque to MouseRegion
* The same to RenderMouseRegion and AnnotatedRegionLayer
* Add findAnnotations to Layer
2019-10-10 12:46:12 -07:00
tauu
6b4a10ae53 PlatformView: recreate surface if the controller changes (#40280)
Currently the surface of a platform view is only created only one when the state of PlatformViewLink is created. When the PlatformViewLink widget changes, the PlatformViewController in the corresponding state is also updated. Just the surface is not updated even though it depends on the controller.

This PR changes this behavior to recreate the surface whenever the controller is updated.
2019-10-10 12:27:20 -07:00