445 Commits

Author SHA1 Message Date
Chris Yang
cc9ccf98ae
Implement mutator stack on Android hybrid composition platform view (#19426) 2020-07-04 13:03:04 -07:00
Emmanuel Garcia
0e82628caf
Update scenario UI screenshoots (#19421) 2020-06-30 18:38:06 -07:00
liyuqian
e9e59f4e2b
Use FixtureTest to remove duplicate code (#19219)
Fixes https://github.com/flutter/flutter/issues/59109
2020-06-30 10:55:38 -07:00
David Worsham
220a831028
Move fuchsia/scenic integration behind #define (#19003)
Additionally create "_next" permutations for all of the test binaries
on Fuchsia, in order to test both code-paths.

Using the #define follow-up CLs can also create a flutter_runner_next
binary that does not contain any legacy integration code.

BUG: 53847
2020-06-26 14:03:18 -07:00
Chris Yang
a11c398481
Android platform view static thread merging (#19242) 2020-06-24 15:13:02 -07:00
Emmanuel Garcia
b990ad11bd
Implement external view embedder on Android (#19033)
The external view embedder allows to embed Android views in a Flutter app.
2020-06-20 12:51:55 -07:00
Gary Qian
637a8e7cd0
Revert method channel platform resolved locale (#19136) 2020-06-19 17:40:22 -07:00
Filip Filmar
1551b74213
[shell] Adds a shell test for timezone fetches (#19108)
Adds a test that verifies that the view of the local time is the same in
the Dart isolate and the process that is running the test.

Specifically, this test is useful to verify that the code paths for
timezone retrieval do not break while the underlying FIDL protocols are
being refactored.

However, since the check is generally useful, the test is written as a
general flutter test.

Running this on Fuchsia required adding `fuchsia.intl.ProfileProvider`
to the CMX file that is used for all build Fuchsia packages.

Testing is a bit involved on Fuchsia.  You must build the Fuchsia
package `fluter/shell/common:shell_tests` and publish it to the dev
repository for your Fuchsia device.  It seems that a way to do so is to
modify the script `flutter/tools/fuchsia/build_fuchsia_artifacts.py` and
modify its function `GetTargetsToBuild` like so:

```
def GetTargetsToBuild(product=False):
  targets_to_build = [
    'flutter/shell/platform/fuchsia:fuchsia',
    'flutter/shell/common:shell_tests',
  ]
  return targets_to_build
```

Next, the Fuchsia packages need to be compiled and published.

Once done, the following `fx` invocation will run the test, assuming
that you have your Fuchsia setup:

```
fx shell run \
    fuchsia-pkg://fuchsia.com/shell_tests#meta/shell_tests.cmx \
    -- --gtest_filter=ShellTest.LocaltimesMatch
```
2020-06-18 09:56:18 -07:00
Dan Field
5157a6b210
Parameterize upscaling for image decoding (#19067)
Adds an `allowUpscale` parameter to the Dart interfaces for instantiateImageCodec and decodeImageFromPIxels. If set to false, the image bounds will be clamped at their intrinsic dimensions.

A later commit will change the default to true.
2020-06-18 09:42:08 -07:00
Gary Qian
3a96741247
Platform resolved locale and Android localization refactor (#18645) 2020-06-16 04:29:50 -07:00
Yegor
194acdfaed
apply null safety syntax to mobile dart:ui (#18933)
* apply null safety syntax to mobile dart:ui
2020-06-12 12:42:12 -07:00
freiling
e1c622b4aa
Make SKSL caching test work on Fuchsia on arm64 (#18572)
* Hook up PersistentCache to ShellTestPlatformViewVulkan

* [vulkan][fuchsia] enable vulkan without swiftshader in fuchsia tests on arm64

* [vulkan][fuchsia] Disable second half of ShellTest.CacheSkSLWorks on
vulkan backend

GrContext::precompileShader() is not implemented for vulkan contexts, so
dont run the portion of this test that depends on that behavior on
Vulkan.

Co-authored-by: George Wright <gw280@google.com>
2020-06-11 18:45:23 -07:00
liyuqian
369e0a9b91
Add ui_benchmarks (#18945) 2020-06-11 10:55:03 -07:00
Dan Field
7e38261e1a
Record path memory usage in SkPictures (#18827) 2020-06-04 15:48:25 -07:00
Dan Field
25054fb470
Implement GetAllocationSize for Vertices (#18756)
* Implement GetAllocationSize for Vertices

* Reflect vertex buffer size in pictures
2020-06-03 10:35:14 -07:00
Dan Field
f46dde1f06
Make images contribute to Picture allocation size, more aggressively release references when dispose is called (#18706)
SkImage references get held by both our Image and Picture objects. The GC has no idea about this, and so sometimes pictures look very small when they're actually holding a reference to a large chunk of memory. This patch helps make sure that the GC can more adequately catch the real size impact of Picture objects, and combined with an upstream patch in Dart allows for much more aggressive collection of unused image related memory.
2020-06-02 15:12:06 -07:00
xster
3dfbe722b9
Make the testing process on different platforms more consistent (#18660) 2020-05-29 18:11:26 -07:00
Jim Graham
efe3f4569a
Fix child caching in opacity_layer (#17914)
Choose a child more likely to remain stable from frame to frame as the target to cache in the OpacityLayer.
2020-05-28 18:45:43 -07:00
David Worsham
389a59d5df
fuchsia: Disable flaky TimeSensistiveTests (#18656)
https://github.com/flutter/flutter/issues/58211 tracks re-enabling these
tests.
2020-05-28 17:35:14 -07:00
Chinmay Garde
c748410a15
Abbreviate names of intermediate generated targets in testing.gni. (#18617) 2020-05-26 20:07:05 -07:00
George Wright
80093aaa4b
Implement WriteAtomically using write/fsync on all platforms, and enable (#18320) 2020-05-21 12:07:03 -07:00
xster
f3b7ed4078
Let run_tests.py just stream output (#18534) 2020-05-20 21:38:37 -07:00
David Worsham
1429534707
fuchsia: Fix runtime_tests and shell_tests (#18492) 2020-05-20 18:47:02 -07:00
Gary Qian
1475c2fc64
Send platformResolvedLocale from iOS embedder (#18519) 2020-05-20 16:32:03 -07:00
George Wright
cdc5ed3ad9
Set caches directory on Fuchsia (#18321) 2020-05-20 11:05:55 -07:00
Gary Qian
9d0ae1ced3
Remove currentLocale prepend on iOS (#18379) 2020-05-19 19:10:35 -07:00
liyuqian
a4fb3de207
Automatically remove old persistent cache dir (#18244)
Fixes https://github.com/flutter/flutter/issues/53445
2020-05-15 14:15:59 -07:00
Emmanuel Garcia
5d24587837
Add screenshots for Android view (#18367) 2020-05-15 13:03:39 -07:00
Kaushik Iska
c413b3d743
Update the observatory thread name for profiling thread (#18199) 2020-05-15 12:28:10 -07:00
Kaushik Iska
d8604b1700
[fuchsia] Remove log dumping to prevent timeouts (#18409)
See: https://github.com/flutter/flutter/issues/57273
2020-05-14 21:10:49 -07:00
Kaushik Iska
fe7d6e06d9
Add ocmock to iOS unit tests xcode project (#18396) 2020-05-14 19:42:02 -07:00
godofredoc
ee2c9df4cf
Disable flow tests. (#18405)
seems like flow tests are leaving devices in a bad state.
2020-05-14 19:04:10 -07:00
godofredoc
aaf9e79f1d
Re-enable Fuchsia tests (#18392)
This reverts commit ae2222f47e788070c09020311b573542b9706a78.
2020-05-14 14:56:14 -07:00
Jason Simmons
dc93db5ab8
Move FlutterLoader disk I/O to a background thread to comply with Android strict mode (#18241) 2020-05-13 14:17:03 -07:00
Emmanuel Garcia
480d8e458f
Fix scenario platform view tests on Android (#18332) 2020-05-13 13:33:38 -07:00
Kaushik Iska
ae2222f47e
Revert "Re-enable Fuchsia tests (#18342)" (#18345)
This reverts commit efdc0994a064160d4331c5ec89e24e5ac4a7f641.
2020-05-13 10:21:25 -07:00
Kaushik Iska
efdc0994a0
Re-enable Fuchsia tests (#18342)
Co-authored-by: Kaushik Iska <kaushikiska@google.com>
2020-05-13 09:21:34 -07:00
Kaushik Iska
2f8495a5e6
Completely disable paving the device on Fuchsia (#18340) 2020-05-13 07:42:22 -07:00
Kaushik Iska
f6d3e7f21c
Disable all fuchsia tests temporarily (#18326) 2020-05-12 17:31:50 -07:00
Kaushik Iska
a6baef146d
Disable flow tests on Fuchsia (#18323) 2020-05-12 16:36:42 -07:00
Kaushik Iska
6689481c4e
Temporarily disabling the fuchsia shell, runtime tests (#18319)
see: https://github.com/flutter/flutter/issues/57061
2020-05-12 15:57:36 -07:00
Marcus Tomlinson
d96f962ca2
Add new FlutterEngineAOTData argument to FlutterProjectArgs (#18146)
Added a new `FlutterEngineAOTData` argument to `FlutterProjectArgs`. Embedders can instantiate and destroy this object via the new `FlutterEngineCreateAOTData` and `FlutterEngineCollectAOTData` methods provided.

If an embedder provides more than one source of AOT data to `FlutterEngineInitialize` or `FlutterEngineRun` (e.g. snapshots as well as `FlutterEngineAOTData`), the engine will error out.

Resolves: https://github.com/flutter/flutter/issues/50778
2020-05-10 10:24:56 -07:00
Emmanuel Garcia
a59f0bdabe
Add support for screenshot testing in the scenario app on Android (#18115) 2020-05-09 10:34:55 -07:00
liyuqian
28d99854a6
Reland again "Remove layer integral offset snapping #17112" (#18160)
This reverts commit a7a25d3b57f2066798ef8cd43600588e4697c9cd and relands our reland https://github.com/flutter/engine/pull/17915.

Additionally, we fixed the cull rect logic in `OpacityLayer::Preroll` which is  the root cause of https://github.com/flutter/flutter/issues/56298. We've always had that root problem before but it did not trigger performance issues because we were using the OpacityLayer's `paint_bounds`, instead of its child's `paint_bounds` for preparing the layer raster cache. A correct handling of the cull rect should allow us to cull at any level.

It also turns out that our ios32 (iPhone4s) performacne can regress a lot
without snapping. My theory is that although the picture has a
fractional top left corner, many drawing operations inside the picture
have integral coordinations. In older hardwares, keeping those
coordinates integral seems to be performance critical.

To avoid flutter/flutter#41654, the snapping
will still be disabled if the matrix has non-scale-translation
transformations.
2020-05-07 17:19:30 -07:00
Robert Ancell
805a8874cb
Add first Linux shell tests (#18159) 2020-05-06 15:33:11 +12:00
liyuqian
a7a25d3b57
Revert again "Remove layer integral offset snapping" (#18132) 2020-05-04 16:39:03 -07:00
liyuqian
4e2973633d
Reland "Remove layer integral offset snapping" (#17915)
This reverts commit b5aedb3 and relands #17712.

Fixes flutter/flutter#53288 and flutter/flutter#41654.

Together with #17791, this reland addresses some of Jim's concerns in the original PR #17712.

The major part of this PR is still the same as the original PR, and the performance / golden image impacts should be the same.
2020-05-01 15:01:42 -07:00
Emmanuel Garcia
7d9bd5ce5a
Populate window.locale in Dart (#18043) 2020-04-29 19:24:16 -07:00
xster
bd5234780e
skip TextSemanticsFocusTest for flake (#18015) 2020-04-28 16:00:37 -07:00
gaaclarke
103c9c78fc
Bumped up the timeout for testAccessibilityFocusOnTextSemanticsProducesCorrectIosViews (#17988)
* Bumped up the timeout for testAccessibilityFocusOnTextSemanticsProducesCorrectIosViews

* ran formatter

* made an alternative version of the assertion

* removed log statements, seems to mess with the buildbot's xcpretty
2020-04-27 23:53:22 -07:00