5457 Commits

Author SHA1 Message Date
Ian Hickson
0e11b0e6e3 Make the widgets binding reusable. (#3479)
Previously the widgets layer only provided a concrete binding, which
makes it awkward to extend it compared to other bindings. This moves
widgets to the same style as the other layers.

In a subsequent patch I'll use this to make the tests layer saner.
2016-04-21 16:06:51 -07:00
Tony Gentilcore
5dd114c800 Roll engine to 4062813e7060666f26b89e77d3f58035523bfd6b 2016-04-21 16:05:20 -07:00
Jason Simmons
cf56caa708 Add a flag to "flutter build apk" that can package additional files into the APK (#3474) 2016-04-21 16:02:08 -07:00
Adam Barth
99725c2ba1 Update engine (#3473) 2016-04-21 14:59:26 -07:00
Ian Hickson
20eefbf576 Remove stray print from material gallery. (#3463)
Makes the tests noisy.
2016-04-21 14:57:37 -07:00
Matt Perry
6ca36a94b7 Add a text selection handle for the collapsed case. (#3467)
Also simplify handle drawing. All 3 cases are the same, just rotated.

Also fix selection changes on iOS.
2016-04-21 17:08:27 -04:00
Eric Seidel
cd084005fa Merge pull request #3470 from eseidelGoogle/master
Add a service extension for toggling the PerformanceOverlay
2016-04-21 13:29:23 -07:00
Ian Hickson
b7af64ee50 Refactor TestGesture (#3461)
Moves TestGesture into test_pointer.dart and makes it more
self-contained.

This is part of a general refactoring of flutter_test.

Depends on https://github.com/flutter/flutter/pull/3459
2016-04-21 13:18:02 -07:00
Eric Seidel
898b3ce8ba Add a service extension for toggling the PerformanceOverlay
This only works for apps which use WidgetsApp.  Apps which don't
(like the game) could presumably read the static themselves
off of WidgetsApp.

@devoncarew @hixie
2016-04-21 12:55:49 -07:00
Ian Hickson
3142aba407 Refactor the Gesturer's interfaces (#3459)
* Refactor the Gesturer's interfaces

This makes them more coherent.

It also makes it easier for the tests to override each specific part of
hit-testing, should that be necessary.

* Update binding.dart
2016-04-21 12:20:01 -07:00
Hans Muller
22e8d85d16 Enhance Finder toString() (#3458)
* Enhance Finder toString()
2016-04-21 12:13:51 -07:00
Matt Perry
11f236ec25 Add basic text selection to editable text. (#3223)
Only partially works. Editing the selected text doesn't work very well,
which probably will require engine changes. Currently only draws the
selected text and allows you to manipulate the selection with draggable
selection handles.
2016-04-21 13:53:31 -04:00
Adam Barth
248960a734 Add a route table to Material Gallery (#3457)
Use the route table to generate the list of screens to test in the smoke test.
2016-04-21 10:24:22 -07:00
Hans Muller
986b017445 Gallery Smoke Test (#3446)
* Gallery Smoke Test
2016-04-21 08:54:43 -07:00
Adam Barth
161f945e84 A blinking cursor should push only one frame (#3445)
Prior to this patch, we were pushing two frames each time the cursor blinked.
In turning the cursor on or off, the markNeedsPaint call was triggering another
frame to be scheduled because we cleared a bit in the scheduler at the
beginning of the frame instead of at the end of the frame.

To implement scheduling correctly, we actually need two bits: one for
ensureVisualUpdate, which just promises to get to the end of the pipeline soon,
and scheduleFrame, which promises to get to the beginning of the pipeline soon.
2016-04-20 20:36:39 -07:00
Yegor
7fe7de3f12 [driver] fix a race in finder logic (#3444) 2016-04-20 15:26:09 -07:00
Matt Perry
fffbf6e97b Fix OverlayEntry.remove to work even after the Overlay is disposed. (#3412) 2016-04-20 17:35:49 -04:00
Viktor Lidholt
9aeeb15849 Minor fixes to code parser test in gallery (#3439) 2016-04-20 12:45:54 -07:00
Devon Carew
731c5903c2 cache the source lines when running analyze (#3436) 2016-04-20 11:26:24 -07:00
Ian Hickson
112f2cc37b Reset _simulation at the end of a fling (#3435)
Also a bit of code cleanup.

The key part of this patch is the addition in `_endScroll` to reset
`_simulation`. It seems like this was the one place where it's possible
for us to end the animation but not reset our state. Since we assert
that are state is coherent, we were hitting asserts when a fling
finished and then you interacted with the widget again.
2016-04-20 11:02:20 -07:00
Adam Barth
140bf64a9d Update examples readme (#3434)
Previously this readme had some broken links.

Fixes #3428
2016-04-20 10:58:06 -07:00
Devon Carew
435fdbff25 move driver create test to the flutter_tools package (#3433)
* move driver create test to the flutter_tools package

* review comments
2016-04-20 10:48:27 -07:00
Hans Muller
25164e1089 Make IconButton gesture targets as big as possible (#3423)
* Make IconButtons as big as possible
2016-04-20 10:00:14 -07:00
Ian Hickson
1b9476c4d9 Hide routes from the API when they're not needed. (#3431)
The 'routes' table is a point of confusion with new developers. By
providing a 'home' argument that sets the '/' route, we can delay the
point at which we teach developers about 'routes' until the point where
they want to have a second route.
2016-04-20 09:33:28 -07:00
Viktor Lidholt
f7360126b8 Gallery code snippets now analyzed (#3391)
* Gallery code snippets now analyzed
2016-04-20 09:29:01 -07:00
Ian Hickson
c294014d00 Remove deprecated API in EdgeInsets 2016-04-20 00:05:43 -07:00
Ian Hickson
e69812441f Rename RowInkWell to TableRowInkWell
...so that people don't think it's for Row.
2016-04-19 23:35:23 -07:00
Devon Carew
80fabfd3dd allow flutter create to re-gen over an existing project (#3419)
* allow flutter create to re-gen over an existing project

* add a regression test
2016-04-19 19:30:49 -07:00
Devon Carew
ff9bdb2c58 redraw the app after a repaint rainbow change (#3420) 2016-04-19 19:22:08 -07:00
Yegor
d8fe7a853e [tools] analyze the output of flutter create --with-driver-test (#3426)
Fixes https://github.com/flutter/flutter/issues/3149
2016-04-19 17:02:43 -07:00
Hans Muller
c7e2e8ae81 Remove Scaffold scrollableKey use in gallery demos (#3406)
* Remove Scaffold scrollable_key demo usage
2016-04-19 16:31:11 -07:00
Ian Hickson
6e0c76f4ba Give DefaultAssetBundle a default asset bundle. (#3422)
This makes it easier to use e.g. AssetImage in simple test applications.

Also, dartdoc improvements.

Also, use @required in one place, to see if it causes any trouble. If it
doesn't, I'll start using it in more places.
2016-04-19 16:14:30 -07:00
Devon Carew
dd2bde1918 add a service extension for repaint rainbow (#3409)
* add a service extension for repaint rainbow

* review comments
2016-04-19 12:57:10 -07:00
Ian Hickson
6dc440bdfd Make rootBundle handle the no-mojo case. (#3408)
The defaulting logic for bundles really belongs in the services layer,
not the widgets layer. This way we can tell non-widget code just to use
rootBundle if it just wants to read a JSON file or some such.
2016-04-19 11:19:38 -07:00
Devon Carew
6f0bb20658 rename deploy to release (#3407) 2016-04-19 11:17:00 -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
Jason Simmons
8451b669c8 Collect trace data through the observatory HTTP interface (#3393) 2016-04-19 10:38:49 -07:00
Ian Hickson
61605a9d9d Rearrange scheduling library (#3388)
To be more consistent with other parts of the platform:

* put the binding in a binding.dart file.

* rearrange some members of the Scheduler class to be more close to
  execution order.

* factor out Priority class into its own file.

* add more dart docs.
2016-04-19 10:35:18 -07:00
Yegor
e7657b9462 [driver] "waitFor" command in place of broken "exists" (#3373)
* [driver] "waitFor" command in place of broken "exits"

* [driver] wait using frame callback
2016-04-19 09:49:22 -07:00
Hans Muller
a2ce9483c1 Replace Block with ScrollableList in Cards demo (#3380) 2016-04-19 09:45:53 -07:00
Devon Carew
1c0a966384 rename the --develop option to --debug (#3384)
* rename the --develop option to --debug

* fail if both --debug and --deploy are specified
2016-04-18 16:41:15 -07:00
Ian Hickson
a9eddd4860 Also analyze the driver host entry points. (#3395) 2016-04-18 16:33:03 -07:00
Ian Hickson
424a6b1d6a Handle files disappearing during analysis (#3390) 2016-04-18 15:19:32 -07:00
Devon Carew
29fdc7a464 rename the --release and --debug flags (#3382) 2016-04-18 13:04:59 -07:00
Devon Carew
8b9c94203a Update README.md (#3381)
add explicit paths to the flutter recipies
2016-04-18 12:31:18 -07:00
Devon Carew
325354f6be add a temporary .analysis_options for flutter_tools (#3376) 2016-04-18 09:50:19 -07:00
Phil Quitslund
246a2cb055 Merge pull request #3375 from pq/sdk_opt
Analyze CLI option to specify a custom Dart SDK.
2016-04-18 09:44:05 -07:00
pq
26519aab23 Fixed spacing. 2016-04-18 09:25:17 -07:00
pq
4ff0e842e2 Analyze CLI option to specify a custom Dart SDK.
Handy for testing against specific local SDK builds.

(Note that the option is hidden.)
2016-04-18 09:03:31 -07:00
Devon Carew
12cac94cda Use arm deploy (#3374)
* download android-arm-deploy

* wire up --deploy to android-arm-deploy

* fix interpolation
2016-04-18 09:01:43 -07:00