- 05 Sep, 2017 4 commits
-
-
Michael Goderbauer authored
* getOffsetToReveal deals with pinned slivers If a Sliver can potentially be pinned at the edge of a viewport, getOffsetToReveal will take that into account and scroll further up/down to ensure that the object to reveal doesn't end up covered by a pinned sliver. This is important for accessibility scrolling with app bars. Since how much a pinned sliver is covering is dynamic (it can change with scroll offset, etc), getOffsetToReveal deals with the worst case and tries to ensure that the object to uncover is visible when the pinned slivers are at their max pinned extent. * name fixes * review feedback * typos * renaming * fix analyzer * fix test * analyzer fixes
-
Adam Barth authored
Fixes #11855
-
Michael Goderbauer authored
-
Adam Barth authored
Fixes #11848
-
- 03 Sep, 2017 1 commit
-
-
Adam Barth authored
Also, fix the interpolation between visual and directional fractional offsets. The interpolation now works visually in whatever direction the result eventually gets resolved into. Fixes #11847 Fixes #11357
-
- 01 Sep, 2017 3 commits
-
-
Alexandre Ardhuin authored
* enable lint prefer_final_fields * enable lint recursive_getters * enable lint unnecessary_overrides
-
Andrew Wilson authored
-
Ian Hickson authored
* Improve the Flex overflow marker style * Update basic.dart
-
- 31 Aug, 2017 3 commits
-
-
Jason Simmons authored
-
Adam Barth authored
Fixes #11373
-
Adam Barth authored
This patch includes: * SliverPadding * ScrollView * PageView Fixes #11764 Fixes #11836
-
- 30 Aug, 2017 2 commits
-
-
Michael Goderbauer authored
* ensureVisible works with viewports that have a center child * review feedback
-
Adam Barth authored
Fixes #11389
-
- 29 Aug, 2017 2 commits
-
-
Michael Goderbauer authored
* Exclude SemanticNodes that are fully covered by an overlapping sliver * simplification * formatting * nits * add test for center widget
-
Michael Goderbauer authored
-
- 28 Aug, 2017 3 commits
-
-
Michael Goderbauer authored
* Semantic hit test order for Slivers * ++ * fix double space * refactoring * fix test * comment fix * tests * remove accidental debugDumpSemanticsTree * review comments * fix button
-
Ian Hickson authored
* Introduce a Directionality inherited widget which sets the ambient LTR vs RTL mode (defaulting to null, which means you cannot use directionality-influenced values). * Make it possible to configure Padding (including Container.padding and Container.margin) using a directionality-agnostic EdgeInsets variant. * Provide textDirection and verticalDirection controls on Row and Column to make them RTL-aware. * Introduce a variant of FractionalOffset based on the EdgeInsets variant. Not yet actually used. * Fix all the tests that depended on Row defaulting to LTR.
-
Ian Hickson authored
-
- 26 Aug, 2017 1 commit
-
-
Michael Goderbauer authored
* refactor to ensureAction + some related doc fixes * Update docs for markNeedsSemanticsUpdate * rewording * rewording * ensureAction test * ensureAction test * ensureAction test * more tests * refactor to allways reset node * tiny fixes * more test * doc fixes * one more test * review comments
-
- 25 Aug, 2017 1 commit
-
-
Michael Goderbauer authored
* Fix paintBounds/semanticsBounds of RenderSliver * another test
-
- 23 Aug, 2017 3 commits
-
-
Ian Hickson authored
-
Michael Goderbauer authored
* refactor to assembleSemanticNode * ++ * cleanup * fix test * add note * review comments * review feedback * import fix * another import fix * refactor to ensure tag * tests, tests, tests * analyzer fixes * review comments
-
Ian Hickson authored
These properties had a high cost in the documentation because they're all top-level properties, and there's really very little reason for these values to be configurable in the first place.
-
- 21 Aug, 2017 1 commit
-
-
Jacob Richman authored
Bare bones widget inspector support. Toggle the widget inspector from the flutter tool by pressing 'i'. When the widget inspector is select mode: Pointer down to to inspect a widget. Pointer click to finalize selection of a widget. You can now interact with the application as you normally would but with the inspected widget highlighted. Click the inspect icon in bottom left corner of screen to reactivate select mode.
-
- 09 Aug, 2017 1 commit
-
-
Alexandre Ardhuin authored
* Bump Dart SDK to 1.25.0-dev.9.0 * add link to sdk bug
-
- 08 Aug, 2017 1 commit
-
-
Michael Goderbauer authored
Don't trigger an assert when markNeedsSemanticsUpdate is called multiple times in edge cases (#11544) * Don't trigger assert if a render object ceases to be a semantic boundary This bug was exposed by https://github.com/flutter/flutter/pull/11309, which caused the following assertion to trigger when scrolling in the Animation demo: ``` The following assertion was thrown during _updateSemantics(): 'package:flutter/src/rendering/object.dart': Failed assertion: line 2626 pos 16: 'fragment is _InterestingSemanticsFragment': is not true. ``` A minimal reproduction of the bug can be found in `semantics_10_test.dart`, which has been added as a regression test for the bug by this PR. Looking at that test, here is a description of the faulty behaviour: 1. During the second `pumpWidget` call `RenderExcludeSemantics` marks itself as needing a semantics update (due to excluding going from `false` -> `true`). 2. This causes the nearest ancestor with semantics information (here: `RenderSemanticsAnnotations` representing the "container" Semantics widget) to be added to the `_nodesNeedingSemantics` list. 3. `RenderSliverList` (implementation behind ListView) marks itself as needing a semantics update (due to its changing children). 4. This causes the `RenderSemanticsGestureHandler` to be added to the `_nodesNeedingSemantics` list. 5. Next, canDrag is updated from `true` -> `false`. This means, `RenderSemanticsGestureHandler` is no longer a semantics boundary, it marks itself as needing a semantics update. 6. The nearest ancestor with semantics (`RenderSemanticsAnnotations`, the "container") is added to the `_nodesNeedingSemantics` list (this is a no-op because it is already in the list). 7. During `flushSemantics`, the `_nodesNeedingSemantics` list is walked. The first entry (`RenderSemanticsAnnotations`) updates the semantics tree to only contain the container widget and drop everything else (= no children of the ExcludeSemantics widget are walked). 8. The second entry (`RenderSemanticsGestureHandler`) is updated. It does not add any semantics of its own and is no longer a semantics boundary. Therefore, it wants to merge its descendent semantics into its parents. Here is where the assert throws because the algorithm assumes that every entry in the `_nodesNeedingSemantics` list will produce and own an `_InterestingSemanticsFragment` (passing your semantics on to your parents is not interesting). The problem here seems to be step 4 in combination with step 5. In step 4 we rely on the fact that `RenderSemanticsGestureHandler` is an (explicit or implicit) semantics boundary and that it will be able to absorb the semantics change of `RenderSliverList`. This is true at this time. However, in step 4 `RenderSemanticsGestureHandler` decides to no longer be an (explicit or implicit) semantics boundary and our assumption from step 5 becomes incorrect. We did nothing to correct this assumption. This PR removes a node, that could potentially cease to be a (explicit or implicit) semantics boundary from the `_nodesNeedingSemantics` list to fix that problem. Please node that this does not mean that the node's semantics will not be updated: The node's closest ances tor with semantics is added to that list during the `markNeedsSemanticsUpdate` call. During `flushSemantics` we will walk from this node to update the semantics of it's children (if changed), which will include the node in question. * tiny fix * simplify test * analyzer fixes * review comments
-
- 04 Aug, 2017 1 commit
-
-
Ian Hickson authored
It was previously possible for event dispatch to occurr during the brief window where the tree had been marked dirty but before it had been relaid out by reassemble, which would cause assertions to fire if someone did a hot reload while touching the device.
-
- 03 Aug, 2017 1 commit
-
-
Jacob Richman authored
Add Diagnosticable base class and documentation
-
- 02 Aug, 2017 1 commit
-
-
Yegor authored
* FadeInImage: shows a placeholder while loading then fades in * fix dartdoc quotes * license headers; imports * use ImageProvider; docs; constructors * _resolveImage when placeholder changes * address comments * docs re ImageProvider changes; unsubscribe from placeholder * rebase * address comments
-
- 31 Jul, 2017 1 commit
-
-
Ian Hickson authored
It has recently come to light that we may have been ordering saveLayer calls and clip calls incorrectly.
-
- 28 Jul, 2017 1 commit
-
-
Ian Hickson authored
-
- 27 Jul, 2017 1 commit
-
-
Ian Hickson authored
It was 8.0. It's now arbitrarily 18.0. Changing this required adjusting some tests. Adjusting the tests required debugging the tests. Debugging the tests required some tools to help debugging gesture recognizers and gesture arenas, so I added some. It also required updating some toString() methods which resulted in some changes to the tree diagnostics logic. Also I cleaned up some docs while I was at it.
-
- 25 Jul, 2017 2 commits
-
-
Jason Simmons authored
-
Jacob Richman authored
Refactor RenderObject.toStringDeep and Widget.toStringDeep code to use DiagnosticsNode.
-
- 21 Jul, 2017 3 commits
-
-
Ian Hickson authored
Mainly, this adds documentation to members that were previously lacking documentation. It also adds a big block of documentation about improving performance of widgets. This also removes some references to package:collection and adds global setEquals and listEquals methods in foundation that we can use. (setEquals in particular should be much faster than the package:collection equivalent, though both should be faster as they avoid allocating new objects.) All remaining references now qualify the import so we know what our remaining dependencies are. Also lots of code reordering in Flutter driver to make the code consistent and apply the style guide more thoroughly.
-
Ian Hickson authored
* Optimise AnimatedSize for the tight case. * Remove `default` from a switch statement over enum (so that analyzer will complain if we add enum values). * Adopt the Size since we use it after the child may have changed (which would throw normally). * AnimatedCrossFade.layoutBuilder
-
Jason Simmons authored
This is similar to an optimization done in PhysicalModelLayer::Paint in the engine
-
- 20 Jul, 2017 1 commit
-
-
Ian Hickson authored
-
- 19 Jul, 2017 2 commits
-
-
Ian Hickson authored
-
Michael Goderbauer authored
* a11y: implement new SemanticsAction "showOnScreen" (v2) This action is triggered when the user swipes (in accessibility mode) to the last visible item of a scrollable list to bring that item fully on screen. This requires engine rolled to flutter/engine#3856. I am in the process of adding tests, but I'd like to get early feedback to see if this approach is OK. * fix null check * review comments * review comments * Add test * fix analyzer warning
-