18 Commits

Author SHA1 Message Date
Adam Barth
dda744eccc Fix attaching a dirty, detached SemanticsNode (#4855)
Previously we triggered an assert.

Fixes #4850
2016-07-08 13:28:42 -07:00
Adam Barth
839def55ba Teach the system to shutdown semantics (#4811)
We now stop updating semantics when there are no remaining clients.
2016-07-01 17:57:10 -07:00
Adam Barth
5ed8f1a1fd Add semantics for Sliders (#4808)
Also, make SemanticsOwner into a real class and use it instead of a static in
several places.
2016-07-01 13:38:24 -07:00
Adam Barth
95a26ab0e8 Switch to SemanticAction (#4791)
This patch updates the framework to use the new SemanticAction in
semantics.mojom.
2016-06-30 17:38:05 -07:00
Adam Barth
d1cb026a65 Update engine and Mojo usage (#4258)
The new mojom.dart code makes mocking services a bit tricky. I've filed
https://github.com/domokit/mojo/issues/786 about improving that.
2016-05-28 18:28:21 -07:00
Adam Barth
6f3382aa57 Add more dartdoc to rendering.dart (#4232)
There are still many more left before rendering.dart is complete.
2016-05-27 08:59:04 -07:00
Adam Barth
b1b6271683 Use "call" instead of "invoke" (#4177)
For consistency.

Fixes #4142
2016-05-24 17:53:04 -07:00
pq
e54196d7fc Turn on avoid_return_types_on_setters and cleanup annotated setters.
It's safe to remove the unneeded `void`s from setters since the blocking issues in the
`always_declare_return_types` lint have been fixed (https://github.com/dart-lang/linter/).  We can also safely flip the bit on  `avoid_return_types_on_setters`.
2016-05-12 11:45:30 -07:00
Ian Hickson
261923e5c6 Refactor service extensions (#3397)
Bindings now have a debugRegisterServiceExtensions() method that is
invoked in debug mode (only). (Once we have a profile mode, there'll be
a registerProfileServiceExtensions() method that gets called in that
mode only to register extensions that apply then.)

The BindingBase class provides convenience methods for registering
service extensions that do the equivalent of:

```dart
void extension() { ... }
bool extension([bool enabled]) { ... }
double extension([double extension])  { ... }
Map<String, String> extension([Map<String, String> parameters]) { ... }
```

The BindingBase class also itself registers ext.flutter.reassemble,
which it has call a function on the binding called
reassembleApplication().

The Scheduler binding now exposes the preexisting
ext.flutter.timeDilation.

The Renderer binding now exposes the preexisting ext.flutter.debugPaint.

The Renderer binding hooks reassembleApplication to trigger the
rendering tree to be reprocessed (in particular, to fix up the
optimisation closures).

All the logic from rendering/debug.dart about service extensions is
replaced by the above.

I moved basic_types to foundation.

The FlutterWidgets binding hooks reassembleApplication to trigger the
widget tree to be entirely rebuilt.

Flutter Driver now uses ext.flutter.driver instead of
ext.flutter_driver, and is hooked using the same binding mechanism.
Eventually we'll probably move the logic into the Flutter library so
that you just get it without having to invoke a special method first.
2016-04-19 10:53:58 -07:00
Kris Giesing
bb5a82a726 Allow independent rendering pipelines
Fixes #2723
2016-03-24 14:59:21 -07:00
Hixie
797e27edd3 Add @override annotations to flutter framework 2016-03-14 14:02:26 -07:00
Hixie
3d802075e2 Assert binding ready before getting a11y listener
This adds an assert to verify that we have already got a binding when we
get a semantics listener. Otherwise we crash. (I mean, we still crash,
but now in checked mode we crash on an assert instead. Progress?)
2016-03-07 16:37:45 -08:00
Hixie
9cea6c50f5 Fix drawer in accessibility mode
The "leaf merge" feature was getting confused when we reset the
SemanticsNode. We now separately track whether the node itself is marked
as being merged vs whether we inherited that state, and we don't reset
the inherited state until you're reattached or reserialised. In the
latter case, we do a "just in time" clearing of the flag just like we
previously did a "just in time" setting of the flag, except now the flag
we're setting or clearing is the inherited flag not the actual flag.
2016-02-09 10:05:16 -08:00
Adam Barth
9251504a57 Add more dartdoc to widgets.dart
This patch includes documentation for transitions.dart and for
scrollable.dart.
2016-02-05 20:21:42 -08:00
Hixie
cca1cb2fa1 Actually return a SemanticsServer service. 2016-02-02 13:32:14 -08:00
Hixie
85689f1231 Make the Semantics code be a service.
Port the tests to use the new interface.
2016-02-01 12:57:47 -08:00
Adam Barth
f8342c7a84 Fix analyzer warnings related to SemanticsListener
These were introduced by the recent engine roll.
2016-01-30 21:55:59 -08:00
Hixie
28a1788371 Semantics 2016-01-27 10:04:49 -08:00