- 02 Mar, 2021 1 commit
-
-
Michael Goderbauer authored
-
- 13 Feb, 2021 1 commit
-
-
Todd Volkert authored
The FocusManager constructor was registering global event handlers on the shared RawKeyboard instance and the global pointer router. This posed a few problems: (1) there was no way to unregister these handlers, and (2) instantiating a second FocusManager would overwrite the existing focus manager's RawKeyboard handler. This was manifesting in unexpected ways, such as the fact that constructing a second BuildOwner (for a parallel tree, for instance) was obliterating the event handler for the main BuildOwner's focus manager, thus messing with focus. This change separates those global event registrations into a dedicated method, registerGlobalHandlers(), and overrides dispose() to properly unregister those handlers.
-
- 11 Feb, 2021 2 commits
-
-
Todd Volkert authored
This call is unnecessary and wasteful for callers that are building parallel widget trees, since for those use cases, the caller is generally going to build the tree synchronously immediately.
-
Todd Volkert authored
This can be useful for offscreen widget trees, where the caller wants to completely tear down the tree (properly clean up) when they're done with the tree, to ensure they're not leaving behind any event listeners that could be registered by child elements (which could lead to memory leaks and unexpected behavior).
-
- 15 Oct, 2020 1 commit
-
-
Darren Austin authored
Migrate yet even more widget framework tests to null safety.
-
- 11 Jun, 2020 1 commit
-
-
Alexandre Ardhuin authored
* add language version 2.8 in packages/flutter * enable non-nullable analyzer flag
-
- 06 Jan, 2020 1 commit
-
-
Alexandre Ardhuin authored
* add key to constructors of public widgets * fix a test * fix a test
-
- 27 Nov, 2019 1 commit
-
-
Ian Hickson authored
* Update project.pbxproj files to say Flutter rather than Chromium Also, the templates now have an empty organization so that we don't cause people to give their apps a Flutter copyright. * Update the copyright notice checker to require a standard notice on all files * Update copyrights on Dart files. (This was a mechanical commit.) * Fix weird license headers on Dart files that deviate from our conventions; relicense Shrine. Some were already marked "The Flutter Authors", not clear why. Their dates have been normalized. Some were missing the blank line after the license. Some were randomly different in trivial ways for no apparent reason (e.g. missing the trailing period). * Clean up the copyrights in non-Dart files. (Manual edits.) Also, make sure templates don't have copyrights. * Fix some more ORGANIZATIONNAMEs
-
- 06 Sep, 2019 1 commit
-
-
Michael Goderbauer authored
-
- 01 Mar, 2019 1 commit
-
-
Alexandre Ardhuin authored
* add trailing commas on list/map/parameters * add trailing commas on Invocation with nb of arg>1 * add commas for widget containing widgets * add trailing commas if instantiation contains trailing comma * revert bad change
-
- 05 Feb, 2019 1 commit
-
-
Matt Carroll authored
-
- 12 Sep, 2018 1 commit
-
-
Alexandre Ardhuin authored
* enable lint unnecessary_new * fix tests * fix tests * fix tests
-
- 02 Aug, 2018 1 commit
-
-
Alexandre Ardhuin authored
-
- 27 Jul, 2018 1 commit
-
-
Todd Volkert authored
It was causing problems rolling Flutter into Fuchsia
-
- 23 Jul, 2018 1 commit
-
-
Alexandre Ardhuin authored
* re-enable lint unnecessary_const * remove trailling whitespaces * remove unnecessary const (after merge)
-
- 16 Jul, 2018 2 commits
-
-
Ian Hickson authored
This reverts commit cc1cf13e.
-
Alexandre Ardhuin authored
-
- 05 Jun, 2018 1 commit
-
-
Alexandre Ardhuin authored
-
- 04 Dec, 2017 1 commit
-
-
krisgiesing authored
Separate focus management by build owner Currently the focus manager is held by the singleton WidgetBinding. This change places a focus manager in each build owner object, which allows clients to run offscreen pipelines without disturbing focus management for the main UI.
-
- 24 Sep, 2017 1 commit
-
-
Ian Hickson authored
-
- 07 Sep, 2017 1 commit
-
-
Ian Hickson authored
-
- 21 Apr, 2017 1 commit
-
-
Alexandre Ardhuin authored
* make @immutable const * fix build
-
- 17 Apr, 2017 1 commit
-
-
Hans Muller authored
-
- 11 Apr, 2017 1 commit
-
-
xster authored
Rename State.config to State.widget Rename State.didUpdateConfig to State.didUpdateWidget Renamed all State subclasses' local variables named config to something else
-
- 17 Mar, 2017 1 commit
-
-
Alexandre Ardhuin authored
-
- 04 Mar, 2017 1 commit
-
-
Chris Bracken authored
-
- 09 Dec, 2016 1 commit
-
-
Alexandre Ardhuin authored
-
- 07 Nov, 2016 1 commit
-
-
Ian Hickson authored
-
- 07 Sep, 2016 1 commit
-
-
Ian Hickson authored
Previously, if a StatefulWidget was marked dirty, then removed from the build, then reinserted using the exact same widget under a widget under a LayoutBuilder, it wouldn't rebuild. This fixes that. It also introduces an assert that's supposed to catch SizeObserver-like behaviour. Rather than make this patch even bigger, I papered over two pre-existing bugs which this assert uncovered (and fixed the other problems it found): https://github.com/flutter/flutter/issues/5751 https://github.com/flutter/flutter/issues/5749 We should fix those before 1.0 though.
-
- 01 Jul, 2016 1 commit
-
-
Adam Barth authored
Also, make SemanticsOwner into a real class and use it instead of a static in several places.
-
- 16 May, 2016 1 commit
-
-
Ian Hickson authored
This makes it possible to substitute 'flutter run' for 'flutter test' and actually watch a test run on a device. For any test that depends on flutter_test: 1. Remove any import of 'package:test/test.dart'. 2. Replace `testWidgets('...', (WidgetTester tester) {` with `testWidgets('...', (WidgetTester tester) async {` 3. Add an "await" in front of calls to any of the following: * tap() * tapAt() * fling() * flingFrom() * scroll() * scrollAt() * pump() * pumpWidget() 4. Replace any calls to `tester.flushMicrotasks()` with calls to `await tester.idle()`. There's a guarding API that you can use, if you have particularly complicated tests, to get better error messages. Search for TestAsyncUtils.
-
- 29 Apr, 2016 1 commit
-
-
Ian Hickson authored
* Refactor widget test framework Instead of: ```dart test("Card Collection smoke test", () { testWidgets((WidgetTester tester) { ``` ...you now say: ```dart testWidgets("Card Collection smoke test", (WidgetTester tester) { ``` Instead of: ```dart expect(tester, hasWidget(find.text('hello'))); ``` ...you now say: ```dart expect(find.text('hello'), findsOneWidget); ``` Instead of the previous API (exists, widgets, widget, stateOf, elementOf, etc), you now have the following comprehensive API. All these are functions that take a Finder, except the all* properties. * `any()` - true if anything matches, c.f. `Iterable.any` * `allWidgets` - all the widgets in the tree * `widget()` - the one and only widget that matches the finder * `firstWidget()` - the first widget that matches the finder * `allElements` - all the elements in the tree * `element()` - the one and only element that matches the finder * `firstElement()` - the first element that matches the finder * `allStates` - all the `State`s in the tree * `state()` - the one and only state that matches the finder * `firstState()` - the first state that matches the finder * `allRenderObjects` - all the render objects in the tree * `renderObject()` - the one and only render object that matches the finder * `firstRenderObject()` - the first render object that matches the finder There's also `layers' which returns the list of current layers. `tap`, `fling`, getCenter, getSize, etc, take Finders, like the APIs above, and expect there to only be one matching widget. The finders are: * `find.text(String text)` * `find.widgetWithText(Type widgetType, String text)` * `find.byKey(Key key)` * `find.byType(Type type)` * `find.byElementType(Type type)` * `find.byConfig(Widget config)` * `find.byWidgetPredicate(WidgetPredicate predicate)` * `find.byElementPredicate(ElementPredicate predicate)` The matchers (for `expect`) are: * `findsNothing` * `findsWidgets` * `findsOneWidget` * `findsNWidgets(n)` * `isOnStage` * `isOffStage` * `isInCard` * `isNotInCard` Benchmarks now use benchmarkWidgets instead of testWidgets. Also, for those of you using mockers, `serviceMocker` now automatically handles the binding initialization. This patch also: * changes how tests are run so that we can more easily swap the logic out for a "real" mode instead of FakeAsync. * introduces CachingIterable. * changes how flutter_driver interacts with the widget tree to use the aforementioned new API rather than ElementTreeTester, which is gone. * removes ElementTreeTester. * changes the semantics of a test for scrollables because we couldn't convince ourselves that the old semantics made sense; it only worked before because flushing the microtasks after every event was broken. * fixes the flushing of microtasks after every event. * Reindent the tests * Fix review comments
-
- 22 Apr, 2016 1 commit
-
-
Ian Hickson authored
The old names were getting silly and started stepping on valuable namespace. The new names are consistent and clear.
-
- 31 Mar, 2016 1 commit
-
-
Kris Giesing authored
Adds BuildOwner to manage the dirty list and build processing for widgets/elements, and adds a widget unit test to make sure separation is enforced. Fixes #2723
-