- 20 Mar, 2018 2 commits
-
-
Alexandre Ardhuin authored
-
Michael Goderbauer authored
* Support password fields for a11y * rename to obscured * Roll engine to c3ab0c9143029f0267a05b99effbfbd280a4901b
-
- 19 Mar, 2018 2 commits
-
-
Yegor authored
* a11y: remove SemanticsSortOrder; sort locally only; semanticsOwner post-test check * update accessibility test framework - default nextNodeId/previousNodeId to -1 - stop treating null as opt-out from value testing - add `id`, `TestSemantics.root`, and `tags` to the suggested code in the TestSemantics failure message - fix a small bug with raw string escaping - update all tests accordingly * fix sortKey doc * prefer const over final
-
Ian Hickson authored
Fixes https://github.com/flutter/flutter/issues/15410
-
- 12 Mar, 2018 1 commit
-
-
Jason Simmons authored
-
- 09 Mar, 2018 1 commit
-
-
Michael Goderbauer authored
-
- 28 Feb, 2018 2 commits
- 15 Feb, 2018 1 commit
-
-
asiva authored
up the latest Dart roll - Resubmit https://github.com/flutter/flutter/pull/14392 to fix compilation errors
-
- 13 Feb, 2018 1 commit
-
-
Greg Spencer authored
This adds geometric sort ordering back in for semantics nodes that don't have a sort order defined. With this change, widgets that either have no sort order, or have an equivalent sort order, will be compared geometrically. The comparison is between the two starting corners, so it is TextDirection-aware: parent nodes that are set to have LTR text will compare upper left corners of their children, and upper right when set to RTL. Also fixed a bug in the Transform widget that didn't mark modified nodes as needing a semantics update.
-
- 10 Feb, 2018 1 commit
-
-
Michael Goderbauer authored
-
- 08 Feb, 2018 1 commit
-
- 06 Feb, 2018 1 commit
-
-
Greg Spencer authored
This adds an API for defining the semantic node traversal order. It adds a sortOrder argument to the Semantics widget, which is a class that can define a list of sort keys to sort on. The keys are sorted globally so that an order that doesn't have to do with the current widget hierarchy may be defined. It also adds a shortcut sortKey argument to the Semantics widget that simply sets the sortOrder to just contain that key. The platform side (flutter/engine#4540) gets an additional member in the SemanticsData object that is an integer describing where in the overall order each semantics node belongs. There is an associated engine-side change that takes this integer and uses it to order widgets for the platform's accessibility services.
-
- 02 Feb, 2018 1 commit
-
-
Alexandre Ardhuin authored
-
- 01 Feb, 2018 2 commits
-
-
Siva Annamalai authored
Add meta tag @optionalTypeArgs to the mixin classes where we don't expect a generic type to be specified at the points where the mixin is applied. This suppresses the analyzer warnings.
-
-
- 31 Jan, 2018 1 commit
-
-
amirh authored
For backward compatibility we keep supporting specifying the shape as a combination of MaterialType and borderRadius, and we just use that as a default when shapeBorder is null. To cleanup the implementation if shapeBorder was not specified we just translate the specified shape to a shapeBorder internally. I benchmarked paint, layout and hit testing, with the specialized shape clippers vs. the equivalent path clippers and did not see any significant performance difference. For testing, I extended the clippers/physicalShape matchers to match either the specialized shape or the equivalent shape.
-
- 26 Jan, 2018 2 commits
-
-
Michael Goderbauer authored
* Roll engine to 6921873c71e700235c0f68f0359be2332f93c8bc
-
Michael Goderbauer authored
Roll engine to 7c34dfafc9acece1a9438f206bfbb0a9bedba3bf
-
- 19 Jan, 2018 1 commit
-
-
Ian Hickson authored
* Make FadeTransition more efficient * Update fade_transition_test.dart * Update proxy_box.dart
-
- 12 Jan, 2018 4 commits
-
-
amirh authored
This CL also refactors common logic for RenderPhysicalModel and RenderPhysicalShape into a base class _RenderPhysicalModelBase.
-
Ian Hickson authored
This gets us back to where we were a few minutes ago.
-
Ian Hickson authored
This reverts commit 592f2979.
-
amirh authored
* Revive "Push physical layers with paths instead of rects in RenderPhysicalModel. (#13942)" That commit was reverted due to a performance problem which has now been fixed. * Roll engine 05fe72d068e19c7886e8d27f9b004201d5ad1300
-
- 10 Jan, 2018 1 commit
-
-
Ian Hickson authored
Fixes https://github.com/flutter/flutter/issues/12553 The root cause of https://github.com/flutter/flutter/issues/12553 was that when the refresh indicator went away, which happened after the avatars had started their image loads but before the avatars had loaded, the DecoratedBoxes, along with the rest of the list, got GlobalKey-reparented, which caused the RenderDecoratedBox objects to unregister from the DecorationImagePainters, but they never re-registered since the whole subtree was in a RepaintBoundary and was therefore not explicitly repainted when the tree got reattached. This fixes the bug by explicitly requiring any RenderDecoratedBox to repaint when it's reattached. This is probably a little more aggressive than required; we could probably expose a flag on Decoration that says whether or not the onChanged handler will ever be invoked, and only call markNeedsPaint if that's true, but we'll do that if it turns out that there's a performance issue here. (This patch also introduces a bunch of improved debugging information that I used to track down the bug.)
-
- 09 Jan, 2018 3 commits
-
-
Michael Goderbauer authored
`RenderSemanticsGestureHandler` is no longer a semantics boundary, which allows us to correctly mark disabled buttons as disabled without having their semantics size and semantics node id change unexpectedly. Fixes https://github.com/flutter/flutter/issues/12589. Fixes https://github.com/flutter/flutter/issues/11991. See also https://github.com/flutter/flutter/issues/11993. This change also required some refactoring to how we deal with `twoPaneSemantics` scrolling as it previously relied on `RenderSemanticsGestureHandler` being a semantics boundary. This should also make the underlying logic easier to understand. In addition, the following minor changes are included in this PR: * Removal of orphaned and unused `SemanticsConfiguration.isMergingDescendantsIntoOneNode`. * Logic optimizations for `markNeedsSemanticsUpdate` . * Fix for edge case where `MergeSemantics` failed to merge semantics. * Use of emojis to better indicate leaf merging in the printed semantics tree. * Better assert message for adding invisible child semantics nodes. * Make some semantics tests robuster by not relying on creation order of SemanticsNode ids across test boundaries. Fixes https://github.com/flutter/flutter/issues/13943.
-
amirh authored
-
- 05 Jan, 2018 1 commit
-
-
- 22 Dec, 2017 1 commit
-
-
Michael Goderbauer authored
**tl;dr:** A `RenderObject` can only be an effective semantics boundary if it actually owned a `SemanticsNode` in the previous tree generation. When using the `BlockSemantics` widget it is possible to introduce `RenderObject`s that are configured to be a semantics boundary, but because their semantics are blocked by `BlockSemantics` they will not (immediately) end up owning a `SemanticsNode`. When now a descendant of such a node-less semantics boundary marks itself as needing a semantics update we walk up the tree until we find the closest semantics boundary (which is our node-less `RenderObject`). We now incorrectly assume that this semantics boundary has a valid `SemanticsNode` and only regenerate the semantics subtree below this node. However, because the identified semantics boundary doesn't actually own a valid `SemanticsNode` asserts are throwing (e.g. `Child with id xx is invisible and should not be added to tree.`). To fix this problem, we can just abort the walk if we reach a semantics boundary without a semantics node because (for now) we know that the semantics information of this branch will not make it into the final semantics tree. If the semantics block is ever removed, the current algorithm re-generates the semantics for the entire branch and the semantics will be up-to-date then despite the abort. I've added a test to verify this to make sure it continues to work even when we change the algorithm. Fixes https://github.com/flutter/flutter/issues/13326. /cc @gavindoughtie FYI
-
- 16 Dec, 2017 1 commit
-
-
Ian Hickson authored
No need to update the compositing bits all the time.
-
- 13 Dec, 2017 1 commit
-
-
Michael Goderbauer authored
**This PR contains a breaking API change:** `SemanticsConfiguration.addAction()` has been removed and replaces by action-specific setters (`onTap`, `onLongPress`, etc.) to take care of the fact that some action handlers (those, who take arguments) have different signatures.
-
- 08 Dec, 2017 2 commits
-
-
Yegor authored
* make time picker accessible * use new CustomPaint a11y API * flutter_localizations tests; use bigger distance delta * fix am/pm control; selected values * fix translations; remove @mustCallSuper in describeSemanticsConfiguration * exclude AM/PM announcement from iOS as on iOS the label is read back automatically
-
Michael Goderbauer authored
-
- 07 Dec, 2017 1 commit
-
-
Ian Hickson authored
This allows the scheduler library to depend on the services library and the painting library to depend on the scheduler library without the services library having to depend on the scheduler library. While I was at it I also cleaned up some of the binding logic: the licenses logic can now be overridden (and the test library does so), and the image cache can now be overridden as well.
-
- 05 Dec, 2017 1 commit
-
-
Yegor authored
Summary: - Add `key` field to `SemanticsNode`, while moving key into `foundation` library so it can be used by the render layer. - Introduce `SemanticsProperties` and move many of the `Semantics` fields into it. - Introduce `CustomPaintSemantics` - a `SemanticsNode` prototype created by `CustomPainter`. - Introduce `semanticsBuilder` and `shouldRebuildSemantics` in `CustomerPainter` **Breaking change** The default `Semantics` constructor becomes non-const (due to https://github.com/dart-lang/sdk/issues/20962). However, a new `const Semantics.fromProperties` is added that still allowed creating constant `Semantics` widgets ([mailing list announcement](https://groups.google.com/forum/#!topic/flutter-dev/KQXBl2_1sws)). Fixes https://github.com/flutter/flutter/issues/11791 Fixes https://github.com/flutter/flutter/issues/1666
-
- 30 Nov, 2017 1 commit
-
-
Michael Goderbauer authored
* ensures that only semantics boundaries will be added to owner._nodesNeedingSemantics as expected by compiler. * no longer throws assert if markNeedsSemanticsUpdate is called on non-semantic-boundary render object with a non-semantic-boundary parent. * Fixes #13109. * removes onlyLocalUpdates from markNeedsSemanticsUpdate as its no longer needed.
-
- 17 Nov, 2017 1 commit
-
-
Greg Spencer authored
I got tired of drive-by spelling fixes, so I figured I'd just take care of them all at once. This only corrects errors in the dartdocs, not regular comments, and I skipped any sample code in the dartdocs. It doesn't touch any identifiers in the dartdocs either. No code changes, just comments.
-
- 09 Nov, 2017 1 commit
-
-
Greg Spencer authored
UnconstrainedBox will allow its child to size itself as if it had no constraints, and then attempt to fit around that object, until its own constraints are exceeded, in which case it will clip and display an overflow warning. I also factored out DebugOverflowIndicator, which will draw overflow indicators on containers which overflow but aren't expected to.
-
- 07 Nov, 2017 1 commit
-
-
Hans Muller authored
* a => an
-