Commit Graph

549 Commits

Author SHA1 Message Date
Tong Mu
20299a2c17
Add buttons customization to WidgetController and related testing classes (#31095)
* Add buttons to WidgetController and TestPointer

* Add more buttons

* Let TestPointer handle default device

* Use getter only buttons
2019-05-15 15:42:03 -07:00
Greg Spencer
a5053bfb29
Fix transforms for things with RenderPointerListeners (#32535)
This fixes #32525, because it now marks the compositing bits as needing to be recalculated if the mouse tracker changes its idea of whether or not a mouse is attached.

This bug occurred because the test framework was leaking state from one test to the next (the state about whether a mouse pointer was active), and so even though there was a "passing" test when run in order with the other tests in the file, when the test was run individually (or first), it would have failed and caught the bug.

This adds an assert to make sure that after each test there are no simulated mouse pointers connected, and now calls removePointer in all of the tests where this was a problem.
2019-05-13 15:48:12 -07:00
Kate Lovett
829bdeb426
Fixing accidental merge from WIP branch. (#32520)
Revert "Merge branch 'master' into master"

This reverts commit e3a03c04c4, reversing
changes made to 6474982649.
2019-05-10 15:53:41 -07:00
Kate Lovett
e3a03c04c4
Merge branch 'master' into master 2019-05-10 15:16:40 -07:00
Ian Hickson
f61a2c3907 Clean up flutter_test/test/controller_test.dart (#31333)
Instead of using a custom WidgetController, which is very brittle, we just use the usual infrastructure.

Also, use structured data instead of an array.

This adds offsetMoreOrLessEquals to handle small floating point errors in offsets.
2019-05-06 14:36:30 -07:00
Jonah Williams
dd5d0d6c36
rename foreground and background to light and dark (#32070) 2019-05-06 08:02:08 -07:00
Greg Spencer
11e0a725d4
Re-land: Add support for Tooltip hover (#31699)
This is a re-land of #31561, after fixing performance regressions.

Added change listening to the MouseTracker so that the Listener and tooltip can react to whether or not a mouse is connected at all. Added a change check to make sure Listener only repaints when something changed.

Fixes #22817
2019-05-03 13:00:36 -07:00
Kate Lovett
4676c66b9a
Merge branch 'gold' into master 2019-05-02 15:01:35 -07:00
Dan Field
5b2281e747
Make Flex only overflow on epsilon (#31890) 2019-05-01 17:28:33 -07:00
Jacob Richman
63aa5b3647
Refactor core uses of FlutterError. (#30983)
Make FlutterError objects more structured so they can be displayed better in debugging tools such as Dart DevTools.
2019-05-01 11:20:12 -07:00
Jonah Williams
60a1b2b9ea
Revert "Redo: Add buttons to gestures (#31819)" (#31912)
This reverts commit fea2c7d671.
2019-05-01 10:06:45 -07:00
chunhtai
e2dfd73c2e
only build asset when there is asset declared in pubspec (#31804) 2019-04-30 16:03:47 -07:00
Tong Mu
fea2c7d671
Redo: Add buttons to gestures (#31819)
* Revert "Revert "Add buttons to gestures (#30339)" (#31801)"

This reverts commit 8fd7fa492a.

* Synthesise kPrimaryButton for unknown devices

* Change TestPointer to a better API
2019-04-30 09:56:24 -07:00
Dan Field
fe9512fa72
Re-enable const (#31600)
* Re-enable const
2019-04-29 16:02:42 -07:00
Jonah Williams
8fd7fa492a
Revert "Add buttons to gestures (#30339)" (#31801)
This reverts commit 727e7e829f.
2019-04-29 12:59:30 -07:00
Tong Mu
727e7e829f
Add buttons to gestures (#30339)
* Callbacks of tap, long press, drag, and double tap GR respond to only primary events.
* Add "secondary" callbacks to tap.
* Recognizers only compete on events if there are any related callbacks.
* Add "kSecondaryButton" constant.
2019-04-29 10:46:33 -07:00
James D. Lin
ae5749819b Make the matchesGoldenFile docs link to an explanation of how to create golden image files (#31093) 2019-04-29 14:43:24 +02:00
Greg Spencer
7775c23784
[Re-Land] Implement focus traversal for desktop platforms. (#31614)
This re-lands the Focus changes in #30040. Correctness changes in routes.dart, and removes the automatic requesting of focus on reparent when there is no current focus, which caused undesirable selections.

Addresses #11344, #1608, #13264, and #1678
Fixes #30084
Fixes #26704
2019-04-25 16:26:58 -07:00
Dan Field
1db5d66932
Capture JSON RPC errors that presently get swallowed (#31584)
* Update packages
* Capture JSON RPC errors that presently get swallowed
2019-04-25 08:27:00 -07:00
sjindel-google
e84b4c47b8
Allow all tests to run with --update-goldens. (#31562)
Previously benchmark_test.dart would break if run with --update-goldens.
Now the entire test suite can be run with --update-goldens.
2019-04-25 17:13:26 +02:00
Dan Field
06e1f8fc15
Roll engine to 3e47b4bb39bb4993f03a278ea7b1c11ee6459b06 (#31569)
* Manual roll with updated test
2019-04-24 17:20:02 -07:00
Greg Spencer
590cc27b31
Revert "Implement focus traversal for desktop platforms, shoehorn edition. (#30040)" (#31461)
This reverts commit 4218c0bc38.
2019-04-22 18:02:35 -07:00
Greg Spencer
4218c0bc38
Implement focus traversal for desktop platforms, shoehorn edition. (#30040)
Implements focus traversal for desktop platforms, including re-implementing the existing focus manager and focus tree.

This implements a Focus widget that can be put into a widget tree to allow input focus to be given to a particular part of a widget tree.

It incorporates with the existing FocusScope and FocusNode infrastructure, and has minimal breakage to the API, although FocusScope.reparentIfNeeded is removed, replaced by a call to FocusAttachment.reparent(), so this is a breaking change:

FocusScopeNodes must now be attached to the focus tree using FocusScopeNode.attach, which takes a context and an optional onKey callback, and returns a FocusAttachment that should be kept by the widget that hosts the FocusScopeNode. This is necessary because of the need to make sure that the focus tree reflects the widget hierarchy.

Callers that used to call FocusScope(context).reparentIfNeeded in their build method will call reparent  on a FocusAttachment instead, which they will obtain by calling FocusScopeNode.attach in their initState method. Widgets that own FocusNodes will need to call dispose on the focus node in their dispose method.

Addresses #11344, #1608, #13264, and #1678
Fixes #30084
Fixes #26704
2019-04-22 09:51:40 -07:00
Dan Field
37bc48f26e
rectMoreOrLess equals, prep for 64bit rects (#30942)
* rectMoreOrLess equals, prep for 64bit rects
2019-04-22 09:40:19 -07:00
Kate Lovett
7e542fc334 Committing progress. 2019-04-19 14:33:49 -07:00
Kate Lovett
9e3e44ee3d Committing test progress. 2019-04-19 11:32:16 -07:00
Kate Lovett
b6a2efb7ab Committing progress. Documentation and testing incomplete/in progress. Code cleanup needed as well. 2019-04-18 16:08:09 -07:00
chunhtai
b275e11170
fix issue 12999: Make assets available during tests (#31207) 2019-04-18 15:31:47 -07:00
Dan Field
330dc94c0f Check that ErrorWidget.builder is not modified after test (#30898) 2019-04-15 12:38:51 -07:00
Jonah Williams
715cb5132e
Fix bugs in contrast guideline and improve heuristic (#31000) 2019-04-15 09:01:09 -07:00
Sam Rawlins
83ddd98849 Fix additional @mustCallSuper indirect overrides and mixins (#30667) 2019-04-10 14:54:51 -07:00
Alexandre Ardhuin
32f1b810ae shorter nullable list duplications (#30305) 2019-04-05 10:23:35 -07:00
Jonah Williams
1bfa2f2311
Intercept errors thrown by synchronous Completers in image resolution. (#30139) 2019-03-29 10:05:18 -07:00
Jonah Williams
3c93b65a9b
Update to latest matcher (#30019) 2019-03-27 17:21:10 -07:00
Alexandre Ardhuin
bfa1d25bf9
some formatting of map, parameters and spaces (#29760) 2019-03-23 00:02:21 +01:00
Alexandre Ardhuin
a6af422874
some spaces formatting (#29452)
* some space formattings

* always use blocks in if-else if a block is used

* format spaces in for and while

* allow multiline if conditions

* fix missing space
2019-03-20 23:23:31 +01:00
Dan Field
5e27ebbe8d
Add semantic label finders (#29342)
* Add semantic label finders
2019-03-18 20:32:03 -07:00
Dan Field
8e14c227eb
Make it easier to ensure semantics in widgetTests (#29387)
* Make it easier to ensure semantics
2019-03-18 10:08:23 -07:00
Brian Wilkerson
439fbbe69e
Update SDK constraints to reflect the fact that set literals are being used (#29389) 2019-03-15 07:53:27 -07:00
Jonah Williams
275769b89d
Add skip to group in test_compat (#29236) 2019-03-13 10:13:51 -07:00
Michael Goderbauer
816ae4b193
Include platformViewId in semantics tree (#28953) 2019-03-12 07:44:39 -07:00
stuartmorgan
5922a40e6a
Add support for scrollwheels (#22762)
Adds support for discrete scroll events, such as those sent by a scroll wheel.

Includes the plumbing to convert, dispatch, and handle these events, as well as
Scrollable support for consuming them.
2019-03-11 10:08:12 -07:00
Alexandre Ardhuin
a0d1f93b07
fix block formatting (#29051) 2019-03-09 09:03:11 +01:00
Gary Qian
8f1a430557
Initialize the lifecycle state with initial state in window. Roll engine (19 commits) (#28688)
git log --oneline --no-merges f4951df193a7966f9ed4da43d555eee0913d84d1..a48cd16e077778a7aa5908e4faa4da07714260f2
a48cd16e0 Update a11y word forward/back enum names (https://github.com/flutter/engine/pull/8073)
b5f59ed89 Delay the vsync callback till the frame start time specified by embedder. (https://github.com/flutter/engine/pull/8072)
7426305f5 Mark const extern (https://github.com/flutter/engine/pull/8077)
d3f6d7a21 only partial rule revert (https://github.com/flutter/engine/pull/8078)
d71bfe58d Only build a full Dart SDK when building for the host system (https://github.com/flutter/engine/pull/8071)
de90dbff7 Refactor web configuration/ Add dartdevc (https://github.com/flutter/engine/pull/7978)
ff46dd38f Roll src/third_party/skia 4c1ea43a79b5..88b8d1124b72 (8 commits) (https://github.com/flutter/engine/pull/8070)
80c6dd286 Roll src/third_party/skia 692122e3ef23..4c1ea43a79b5 (3 commits) (https://github.com/flutter/engine/pull/8069)
68ed654ea Roll src/third_party/skia 3c957d575c58..692122e3ef23 (6 commits) (https://github.com/flutter/engine/pull/8067)
ca0bac4fb Revert "add signal to pointer kinds" (https://github.com/flutter/engine/pull/8066)
3fb627f2c add signal to pointer kinds (https://github.com/flutter/engine/pull/8065)
5a06afa2a Roll src/third_party/skia 801a9c16d81e..3c957d575c58 (19 commits) (https://github.com/flutter/engine/pull/8063)
a93d99db9 A11y callback (https://github.com/flutter/engine/pull/8005)
3661d5e43 Re-land "Buffer lifecycle in WindowData" (https://github.com/flutter/engine/pull/8032)
471a2c89a Send scroll events from the macOS shell (https://github.com/flutter/engine/pull/8056)
2fe9c9b5f Roll src/third_party/skia 72542816cadb..801a9c16d81e (46 commits) (https://github.com/flutter/engine/pull/8060)
3335764ae Skip skp files in license check (https://github.com/flutter/engine/pull/8050)
7f16789b2 Remove redundant thread checker in FML. (https://github.com/flutter/engine/pull/8053)
840c5233a Correct URL for Cirrus CI build status badge (https://github.com/flutter/engine/pull/8054)
57c120a29 remove extra source files (https://github.com/flutter/engine/pull/8052)
4773375c6 Used named conditionals for platform specific dependencies and suppress Android and Windows hooks on Mac. (https://github.com/flutter/engine/pull/8051)
70a18b515 Add clang static analysis support to gn wrapper (https://github.com/flutter/engine/pull/8047)
b30f9897b Improve elevation bounds for physical shape layers (https://github.com/flutter/engine/pull/8044)
e37bd27b4 Fix weak pointer use violations in shell and platform view. (https://github.com/flutter/engine/pull/8046)
dd80fc9ff Add engine support for scrollwheel events (https://github.com/flutter/engine/pull/7494)
2019-03-07 20:05:42 -08:00
Alexandre Ardhuin
440ce8fde6
Fix indentations of statements in BlockFunctionBody (#28933)
* fix indentof statements in BlockFunctionBody

* fix indentof statements in BlockFunctionBody in tests
2019-03-07 21:09:28 +01:00
TruongSinh Tran-Nguyen
0c7fe40e37 fix #19175 How should addTime be used from a test? (#25202) 2019-03-06 15:32:33 -08:00
Phil Quitslund
802eca29d2
set literal conversions (#27811) 2019-03-06 11:05:16 -08:00
Alexandre Ardhuin
4c1f4d14e1
fix some formatting issues (#28809)
* fix some formatting issues

* address review comments

* fix indent
2019-03-06 09:37:32 +01:00
Danny Tuppeny
740fb2a8bb
Fix the test annotation used for test groups (#28638) 2019-03-02 13:19:49 +00:00
Mouad Debbar
b94bf87c70
Text selection via mouse (#28290) 2019-03-01 13:57:10 -08:00