10809 Commits

Author SHA1 Message Date
Anatoly Pulyaevskiy
50a1d91ff3 Allow customization of TextSpan in EditableText (#16909)
* Allow customization of TextSpan in EditableText

* Addressed PR comments

* Added test with custom-styled EditableText subclass

* More code style fixes
2018-05-08 17:40:54 -07:00
Chris Bracken
8b8d368d2b
Replace --prefer-shared-library with --build-shared-library (#17394)
This replaces the --prefer-shared-library flag, which falls back to
regular (non-shared-lib) compile if the NDK is not found, with the
--build-shared-library flag, which exits with an error message if the
NDK is not found.

This simplifies the set of allowed code paths through AOT compile,
resulting in better testability and easier-to-follow logic. It also
results in more predictable behaviour for continuous integration and
other scenarios.
2018-05-08 17:28:53 -07:00
Todd Volkert
d1e49bc6ad
Roll engine to 11d6da3cd9b9449a0d56c068193f9a0addf89e33 (#17405)
This contains the following commits:

flutter/engine@11d6da3 Restore Skia revision
2018-05-08 15:29:52 -07:00
Todd Volkert
d130e37aca
Roll engine to 2bc3b3ecf1c6b315d8c80395d287aa8cd5b0baa1 (#17403)
This contains the following commits:

flutter/engine@2bc3b3e Roll Skia back to d8a189fca3cdfa064de75a280d5af34cc5026bbe
flutter/engine@5d4a38c Roll src/third_party/skia/ d925f2d38..efb84e673 (4 commits)
flutter/engine@61b5028 Read/apply settings that apply process wide before creating any shell components.
flutter/engine@2d60865 Roll src/third_party/skia/ e7df0bb90..d925f2d38 (4 commits)
flutter/engine@8898939 Roll Skia to e7df0bb900ec266021bc6bf4477d533ce1b1f749
flutter/engine@8450a00 Roll Skia back to d8a189fca3cdfa064de75a280d5af34cc5026bbe
flutter/engine@3192223 Roll src/third_party/skia/ 6198f39ad..e7df0bb90 (1 commit)
flutter/engine@5f08fca Roll src/third_party/skia/ cea8e3d13..6198f39ad (1 commit)
flutter/engine@a0be877 Make thread names more descriptive.
flutter/engine@9110e89 Expose View:OfferServiceProvider to UI thread components in a thread safe manner.
flutter/engine@eb5bbda Specify a custom isolate snapshot per AOT shell launch.
flutter/engine@d97b6d8 Allow explicit specification of the isolate snapshot.
2018-05-08 15:29:02 -07:00
Chris Bracken
231b9425d6
Block debug AOT snapshot builds (#17393)
We previously blocked iOS AOT builds, but Android debug builds are
always JIT builds.
2018-05-08 11:06:58 -07:00
Chris Bracken
671489ff44
Update kernel compile log message (#17390)
Updates the message emitted when a kernel compile is skipped in the
build bundle action. Since we now use fingerprinting to enable
performance of script snapshots, AOT snapshots, and kernel compiles,
this helps a bit with debugging.

Also switches to trace level logging.
2018-05-08 11:06:40 -07:00
Peter Etelej
e54887fb12 Fix minor dartdoc typo (#17381)
Minor typo fix for BottomAppBar doc
2018-05-08 08:17:44 -07:00
Danny Tuppeny
19ad6528e8 Don't write flutter stderr to output
Add to the extension thrown if it fails instead.
2018-05-08 10:23:40 +01:00
Danny Tuppeny
83296e74a1 Pass --run-forever to flutter-tester to ensure it doesn't prematurely quit
Without this, flutter-tester quits immediately after executing main().
2018-05-08 10:23:40 +01:00
Mikkel Nygaard Ravn
61c7171872
Recommend using Cocoapods 1.5.0 (#17308) 2018-05-08 08:02:39 +02:00
xster
372ac6d5d4
Let goldens push via ssh by default (#17369) 2018-05-07 21:52:50 -07:00
xster
a811984efc Roll engine to 20b286dd428a0d8dd0f87b7a03ab67fbf0da2836 (#17370) 2018-05-07 21:50:44 -07:00
Todd Volkert
30abc54bdd
Enable deterministic rendering on flutter_tester tests (#17373) 2018-05-07 19:53:34 -07:00
Todd Volkert
2ba0deb77a
Make runAsync() run in child zone, not root zone (#17359)
Some APIs (such as the ones in package:test) assume you're running
in a child zone of the test zone by attempting to extract information
from the zone values. When we run runAsync() in the root zone, those
zone values are lost, and such API methods don't work.

The solution is to run in a child zone, but with a specification that
says to use the Root zone for task scheduling (both timers and
microtakss).
2018-05-07 18:33:44 -07:00
Jonah Williams
cb7afc4a63
Roll engine to 57f53b98a482c6f7f921f06f974c4d199097bfa1 (#17362) 2018-05-07 18:24:29 -07:00
Chris Bracken
de332ec782
Enable universal iOS binaries in templates (#17358)
Eliminates the restrictions to build in arm64 mode only in iOS project
templates created by flutter create.
2018-05-07 14:13:53 -07:00
Chris Bracken
c9d73d3a45
Enable universal iOS binaries for examples (#17357)
Updates all example projects to build as universal binaries that run on
both armv7 and arm64 now that we support both platforms on iOS.
2018-05-07 14:13:40 -07:00
xster
0a0e2b4015
Update Play Store metadata (#17301) 2018-05-07 13:55:12 -07:00
Chris Bracken
b23d7027b5
Fix a type error in platform_channel_swift example (#17354) 2018-05-07 13:10:49 -07:00
Todd Volkert
52e4605677
Golden file fixes (#17299)
1. Make goldenFileComparator getter return `null` if it's set to the
   uninitialized comparator, which matches the behavior of the setter
   (it sets it to the uninitialized comparator if the caller specifies
   `null`).
2. Make the uninitialized comparator return trivial success (and print
   a message) when asked to compare as opposed to throwing. This ensures
   that the comparator will play nicely with live widget bindings
3. Augment documentation
4. Add assert that test doesn't modify the value of `autoUpdateGoldenFiles`
2018-05-07 11:33:41 -07:00
Chris Bracken
aa341be4ae
Enable multi-arch Flutter Gallery on iOS (#17350)
Build universal armv7+arm64 binary for iOS now that our tooling supports
it.
2018-05-07 09:55:03 -07:00
Hans Muller
eee986b076
Gallery cosmetic updates (#17310) 2018-05-07 09:25:50 -07:00
Vyacheslav Egorov
e8d0874468
Fix running dev/bots/test.dart in Dart 2 mode (#17256) 2018-05-07 18:22:36 +02:00
Chris Bracken
849676fc7f
Support multi-arch iOS binaries (#17312)
This change adds support for armv7, arm64, and universal iOS apps.

This change eliminates iOS target architecture hardcoding (previously
arm64 only) and uses the target architecture(s) specified in Xcode's
ARCHS setting ('Architectures' in Xcode Build Settings).

For universal binaries, set ARCHS to its default value, $(ARCHS_STANDARD).

Note that after changing the architecture in Xcode, developers should
run 'pod install' from the ios subdirectory of their project. A separate
change (that will land before this one) will add support for
automatically detecting project file and Podfile changes and re-running
pod install if necessary.

This change also adds an --ios-arch option to flutter build aot. In iOS
AOT builds (in profile and release mode), this dictates which
architectures are built into App.framework. This flag should generally
be unnecessary to set manually since flutter build aot is typically only
invoked internally by flutter itself.
2018-05-06 18:43:07 -07:00
Chris Bracken
5834f41770
Build App.framework for all requested architectures (#17296) (#17317)
In debug mode iOS builds, we build a stub App.framework with no
functionality, since the engine itself loads the code from the included
bundle and subsequently via hot reload. This is simply done for
consistency with profile/release AOT app structure.

To satisfy the linker, ensure that we're building this code for all
build architectures, not just CURRENT_ARCH.

This is pre-work for supporting arbitrary iOS architectures (armv7,
arm64, universal) in Flutter.

This re-lands feb16d8, which was reverted due to a flaky test.
2018-05-06 18:42:37 -07:00
Chris Bracken
4509b15d2d
Mark integration_ui flaky (#17319)
This test fails consistently on mac2 and mac3 with the attached Moto G4
devices but passes consistently on other machines.

Adding a delay of 1s right after driver.connect() in setUpAll() causes
it to pass on the machines in question, which suggests a race condition.
Specifically it looks like connect returns the moment Flutter Driver
identifies that the isolate is up and running, but empirically it looks
like we start running the first test before the UI is actually up. This
triggers a failure wherein we start looking for elements before they're
onstage.

Link to viewport.dart:213 at HEAD:
b2b4665926/packages/flutter/lib/src/widgets/viewport.dart (L213)

Stack trace:
FlutterDriver waitFor should find text "present"

```
  DriverError: Error in Flutter application: Uncaught extension error while executing waitFor: NoSuchMethodError: The getter 'visible' was called on null.
  Receiver: null
  Tried calling: visible
  #0      Object.noSuchMethod (dart:core/runtime/libobject_patch.dart:46:5)
  #1      _ViewportElement.debugVisitOnstageChildren. (package:flutter/src/widgets/viewport.dart:213:36)
  #2      WhereIterator.moveNext (dart:_internal/iterable.dart:439:11)
  #3      Iterable.forEach (dart:core/iterable.dart)
  #4      _ViewportElement.debugVisitOnstageChildren (package:flutter/src/widgets/viewport.dart:214:8)
  #5      _DepthFirstChildIterator._reverseChildrenOf (package:flutter_test/src/all_elements.dart:54:15)
  #6      _DepthFirstChildIterator.moveNext (package:flutter_test/src/all_elements.dart:45:19)
  #7      CachingIterable._fillNext (package:flutter/src/foundation/basic_types.dart:252:27)
  #8      _LazyListIterator.moveNext (package:flutter/src/foundation/basic_types.dart:279:21)
  #9      WhereIterator.moveNext (dart:_internal/iterable.dart:438:22)
  #10     CachingIterable._fillNext (package:flutter/src/foundation/basic_types.dart:252:27)
  #11     _LazyListIterator.moveNext (package:flutter/src/foundation/basic_types.dart:279:21)
  #12     Iterable.isEmpty (dart:core/iterable.dart:449:33)
  #13     Iterable.isNotEmpty (dart:core/iterable.dart:456:27)
  #14     FlutterDriverExtension._waitForElement. (package:flutter_driver/src/extension/extension.dart:215:51)
  #15     FlutterDriverExtension._waitUntilFrame (package:flutter_driver/src/extension/extension.dart:197:19)
  #16     FlutterDriverExtension._waitForElement (package:flutter_driver/src/extension/extension.dart:215:11)

  #17     FlutterDriverExtension._waitFor (package:flutter_driver/src/extension/extension.dart:286:11)

  #18     FlutterDriverExtension.call (package:flutter_driver/src/extension/extension.dart:168:51)

  #19     BindingBase.registerServiceExtension. (package:flutter/src/foundation/binding.dart:370:32)
```

Removes a previous hack that no longer appears to help (adding a 1
second delay in setUpAll() does seem to work around this issue though).
2018-05-06 18:00:35 -07:00
Chris Bracken
b2b4665926
Revert "Build App.framework for all requested architectures" (#17316)
* Revert "Build App.framework for all requested architectures (#17296)"

This reverts commit feb16d8d0156a475538e817b649e06d1f8d0cdc3.
2018-05-04 18:17:35 -07:00
Chris Bracken
a87e324f32
Revert "Add missing awaits in driver integration test (#17314)" (#17315)
This reverts commit f37b84f0b680dd39ec67a5a8d88753a5016c78d7.
2018-05-04 17:48:25 -07:00
Chris Bracken
f37b84f0b6
Add missing awaits in driver integration test (#17314) 2018-05-04 17:20:34 -07:00
Hans Muller
c8da37656a Fix flex_layout_test (#17313) 2018-05-04 16:19:05 -07:00
Hans Muller
f8d0d877f5
Textfield InputDecorator height can grow to accomodate error text (#17292) 2018-05-04 13:26:46 -07:00
Chris Bracken
feb16d8d01
Build App.framework for all requested architectures (#17296)
In debug mode iOS builds, we build a stub App.framework with no
functionality, since the engine itself loads the code from the included
bundle and subsequently via hot reload. This is simply done for
consistency with profile/release AOT app structure.

To satisfy the linker, ensure that we're building this code for all
build architectures, not just CURRENT_ARCH.

This is pre-work for supporting arbitrary iOS architectures (armv7,
arm64, universal) in Flutter.
2018-05-04 13:20:17 -07:00
Mikkel Nygaard Ravn
43c74341b2
Revert "Recommend upgrading to Cocoapods 1.5.0 (#17210)" (#17300)
This reverts commit c64ace84d56b42561d8846785b026887b832d637.
2018-05-04 20:50:01 +02:00
Mikkel Nygaard Ravn
c64ace84d5
Recommend upgrading to Cocoapods 1.5.0 (#17210) 2018-05-04 20:31:09 +02:00
Michael Goderbauer
7984f6e043
Implicit a11y scrolling for iOS (and caching in Viewports) (#17021) 2018-05-04 10:48:06 -07:00
Todd Volkert
be09a200ee
Expose generateTestBootstrap() as public API in test harness (#17290)
This will allow external tools that wrap our test harness to share the
code that generates the test bootstrap.

This change exposed an issue whereby the LocalGoldenFileComparator
was being too strict in its URI handling, so this changes relaxes
that constraint as well (and adds associated tests).
2018-05-04 10:31:53 -07:00
Todd Volkert
d820e5f3b1
Use deprecated io constants (#17278)
The new values are not ready for use yet inside Google
2018-05-03 22:27:29 -07:00
Chris Bracken
cdbdafa8f3
Rerun pod install on changed Xcode project, Podfile (#17274)
If the developer changes their Xcode build settings and their project
has plugins, pod install is required, (e.g. to pick up changes to the
target architecture).

Similarly, manual edits to the Podfile should trigger a pod install.
2018-05-03 19:40:16 -07:00
Yegor
b2c98f9a4e
Roll engine to e976be13c51448f89107d082ec81e2b6731671fa (#17266)
* Roll engine to e976be13c51448f89107d082ec81e2b6731671fa

* move away from deprecated constants
2018-05-03 19:24:48 -07:00
Chris Bracken
c9954f1053
Gallery demos: reordered and retitled (#17220) (#17273) 2018-05-03 18:26:46 -07:00
Todd Volkert
c8908ff0e2
Follow-on work to goldens (#17267)
* Exclude flutter_goldens package from dartdoc because it's for internal
  use only
* Document why flutter_tools doesn' tneed to be excluded from the list of
  packages to document
* Performance optimization in the flutter comparator, and associated
  test updates.
2018-05-03 17:47:50 -07:00
Chris Bracken
66c7b6a935
Add Fingerprinter class (#17255)
Adds a Fingerprinter utility class that can be used to compute unique
fingerprints for a set of input paths and build options, compare to the
output of a previous run, and skip the build action if no inputs or
options have changed. The existing Fingerprint class still does all the
heavy lifting. Fingerprinter adds common operations such as
reading/writing/comparing fingerprints and parsing depfiles.

This migrates existing uses of Fingerprint over to Fingerprinter.

This also adds better fingerprinting to AOT snapshotting, which
previously failed to include several options in its fingerprint
(--preview-dart-2, --prefer-shared-library).
2018-05-03 17:31:37 -07:00
Chris Bracken
322eb81a79
Revert longPress/Tap and Gallery changes (#17269)
Revert longPress/Tap and Gallery changes
2018-05-03 16:51:45 -07:00
Jonah Williams
40ddf01059
fix names of demos in perf tests (#17257) 2018-05-03 15:46:40 -07:00
Andrew Davies
284d87ddaf
[frdp] Fix authors statement. (#17263) 2018-05-03 15:16:04 -07:00
Ian Hickson
5a01da47af
Removing CRLFs. (#17261) 2018-05-03 14:56:10 -07:00
Andrew Davies
5d590afa7d
[frdp] Adds DartVM events/driver support. (#17170)
This change adds Dart VM event support (listening for when a VM starts/stops by using a periodic heartbeat).

This also adds support to connect to a specific `IsolateRef` through the flutter driver, so that when an application spawns, it can immediately be driven (as shown in included example code).
2018-05-03 14:51:52 -07:00
Ian Hickson
031730820e
Update issue templates (#17250)
The "about" text was apparently too long.
2018-05-03 14:51:20 -07:00
Fedor Korotkov
d0125d94b0 Renamed CI tasks (#17216)
* Renamed CI tasks

`tests` to `tests-linux`
`windows` to `tests-windows`

* Explicitly specify shards everywhere
2018-05-03 11:24:02 -07:00
xster
b2db3bafef
Make Android back button presses in a demo category not unexpectedly quit the app (#17224) 2018-05-03 11:15:51 -07:00