20087 Commits

Author SHA1 Message Date
skia-flutter-autoroll
165abef0a2
Roll Dart SDK from 92782d2b94b5 to 84c3eacc7ba0 (1 revision) (#20906) 2020-08-31 11:23:02 -07:00
skia-flutter-autoroll
b0ab0fc111
Roll Skia from ffd61ca01246 to db5582b71116 (2 revisions) (#20904) 2020-08-31 11:18:01 -07:00
skia-flutter-autoroll
d30d05e41d
Roll Fuchsia Linux SDK from URyuiPqyX... to _SVZn8uN2... (#20903) 2020-08-31 11:13:02 -07:00
skia-flutter-autoroll
8d0f3b5877
Roll Fuchsia Mac SDK from _4kJfDM-L... to sI2DAAmSI... (#20902) 2020-08-31 11:08:02 -07:00
Emmanuel Garcia
52f62f14f7
Fix race condition (#20905) 2020-08-31 10:11:41 -07:00
skia-flutter-autoroll
06d92f1743
Roll Skia from c23eeb8c78ec to ffd61ca01246 (1 revision) (#20901) 2020-08-31 08:08:02 -07:00
skia-flutter-autoroll
c016319e14
Roll Skia from ba1e083d37f6 to c23eeb8c78ec (3 revisions) (#20893) 2020-08-31 01:58:01 -07:00
skia-flutter-autoroll
506d848829
Roll Skia from 85f51b2a409c to ba1e083d37f6 (1 revision) (#20892) 2020-08-30 22:58:01 -07:00
Chris Bracken
784e6d746e
Improve the precision of lerpDouble (#20879)
Reduces errors caused by the loss of floating point precision when the
two extrema of the lerp differ significantly in magnitude. Previously,
we used the calculation:

    a + (b - a) * t

When the difference in magnitude between `a` and `b` exceeds the
precision representable by double-precision floating point math, `b - a`
results in the larger-magnitude value of `a` or `b`. The error between
the value produced and the correct value is then scaled by t.

A simple example of the impact can be seen when `a` is significantly
larger in magnitude than `b`. In that case, `b - a` results in `a` and
when `t` is 1.0, the resulting value is `a - (a) * 1.0 == 0`.

The patch transforms the computation to the mathematically-equivalent
expression:

    a * (1.0 - t) + b * t

By scaling each value independently, the behaviour is more accurate.
From the point of view of performance, this adds an extra
multiplication, but multiplication is relatively cheap and the behaviour
is significantly better.

This patch also adds a `precisionErrorTolerance` constant to
test_utils.dart and migrates existing tests to use `closeTo()` for
testing.

The tests themselves *do* currently use values that have an exact
floating-point representation, but we should allow for flexibility in
future implementation changes.
2020-08-30 22:26:10 -07:00
Ferhat
bada9fc5f3
[web] Fix path clip crash when reused (#20846) 2020-08-30 19:35:39 -07:00
skia-flutter-autoroll
1e302a111d
Roll Fuchsia Mac SDK from Z0aq5SyVC... to _4kJfDM-L... (#20891) 2020-08-30 15:23:01 -07:00
skia-flutter-autoroll
d6f1fef151
Roll Fuchsia Linux SDK from UAi35C_0e... to URyuiPqyX... (#20889) 2020-08-30 11:33:01 -07:00
Chris Bracken
dbc9b1a856
lerpDouble: stricter handling of NaN and infinity (#20871)
Previously, the behaviour of lerpDouble with respect to NaN and infinity
was relatively complex and difficult to reason about. This patch
simplifies the behaviour with respect to those conditions and adds
documentation and tests.

In general, if `a == b` or both values are null, infinite, or NaN, `a`
is returned. Otherwise we require `a` and `b` and `t` to be finite or
null and the result of the linear interpolation is returned.
2020-08-30 11:08:59 -07:00
Chris Bracken
14ac65c9a2
Extract Dart test utilities library (#20874)
This extracts a Dart test utilities library, containing
`expectAssertion` and `expectArgumentError` functions that simplify
running tests that test assertions across debug, profile, and release
configurations.

This change also restricts Dart unit tests to testing files whose
filename matches `*_test.dart` under `flutter/testing/dart`; previously
any file in that directory was run, but all files matched the above
pattern.
2020-08-30 11:07:05 -07:00
skia-flutter-autoroll
8c57a39f11
Roll Skia from 3872c989512c to 85f51b2a409c (1 revision) (#20888) 2020-08-30 09:23:01 -07:00
skia-flutter-autoroll
31acf1fc8b
Roll Skia from d5961b33e87f to 3872c989512c (1 revision) (#20887) 2020-08-30 07:23:01 -07:00
skia-flutter-autoroll
ab9a06dde2
Roll Fuchsia Mac SDK from buv4PNHA2... to Z0aq5SyVC... (#20886) 2020-08-30 02:18:02 -07:00
skia-flutter-autoroll
9887b8aea7
Roll Skia from 8702b8f4444f to d5961b33e87f (1 revision) (#20885) 2020-08-30 00:48:01 -07:00
xster
15f5696c41
Add a java injector for testing (#20789) 2020-08-29 22:29:23 -07:00
skia-flutter-autoroll
cb9439afb5
Roll Fuchsia Linux SDK from KkG4iMAx5... to UAi35C_0e... (#20883) 2020-08-29 22:13:01 -07:00
Chris Bracken
e0122b88c2
Add integer input tests for lerpDouble (#20880)
The `a` and `b` parameters to `lerpDouble` have type `num`. This adds
tests for integer parameter values.
2020-08-29 16:48:41 -07:00
skia-flutter-autoroll
7cbb5e0c42
Roll Skia from 5d3314c53ce5 to 8702b8f4444f (1 revision) (#20878) 2020-08-29 12:33:01 -07:00
skia-flutter-autoroll
b8a5657629
Roll Fuchsia Mac SDK from zZMS49-sB... to buv4PNHA2... (#20877) 2020-08-29 09:28:01 -07:00
skia-flutter-autoroll
50a7d7ee56
Roll Fuchsia Linux SDK from eOA32nYKY... to KkG4iMAx5... (#20876) 2020-08-29 07:28:02 -07:00
skia-flutter-autoroll
695d4f1f37
Roll Skia from 6fd391a016f3 to 5d3314c53ce5 (1 revision) (#20875) 2020-08-29 07:23:02 -07:00
skia-flutter-autoroll
3029dcd93e
Roll Dart SDK from 5831471fac7b to 92782d2b94b5 (2 revisions) (#20873) 2020-08-28 20:28:02 -07:00
skia-flutter-autoroll
f4e76478e0
Roll Fuchsia Mac SDK from koO5t2tfw... to zZMS49-sB... (#20872) 2020-08-28 20:23:01 -07:00
skia-flutter-autoroll
c097c2d875
Roll Fuchsia Linux SDK from jyKllAGRu... to eOA32nYKY... (#20870) 2020-08-28 18:08:02 -07:00
Emmanuel Garcia
1b0c684326
Add ability to disable the raster thread merger (#20800) 2020-08-28 17:25:00 -07:00
skia-flutter-autoroll
8c5d9f628f
Roll Skia from 6052c0bee0d9 to 6fd391a016f3 (5 revisions) (#20866) 2020-08-28 16:18:02 -07:00
Chris Bracken
308bde7d6a
lerpDouble: add tests for NaN, infinity (#20848)
Adds tests for lerpDouble for cases where NaN or infinite values are
passed. These tests simply specify the current behaviour.
2020-08-28 15:11:15 -07:00
skia-flutter-autoroll
4997ff65ff
Roll Dart SDK from fe5c8c44701e to 5831471fac7b (1 revision) (#20862) 2020-08-28 14:53:03 -07:00
skia-flutter-autoroll
660f97a002
Roll Skia from 280fa3d303bf to 6052c0bee0d9 (6 revisions) (#20859) 2020-08-28 14:48:02 -07:00
Greg Spencer
88fd13fcd3
Reland: Implement delayed event synthesis key event handling for Android (#20736)
This re-lands the key event synthesis implementation for Android (Original PR: #19024, Revert PR: #19956). The only difference is sending the synthesized key events to the root view instead of the current view.

Without sending it to the root view, the system doesn't have any chance of handling keys like the back button. The event will still not be sent to the framework twice, since we turn off event propagation while re-dispatching the event.
2020-08-28 14:45:38 -07:00
Mouad Debbar
7a890f27ca
[web] Better format for line break tests (#20767) 2020-08-28 14:43:01 -07:00
David Worsham
07e2520d5d
fuchsia: create new flutter_runner render path (#19584) 2020-08-28 14:17:17 -07:00
nturgut
80a1cac4fc
Fix debugging issue (#20841) 2020-08-28 10:03:55 -07:00
skia-flutter-autoroll
c1134e2b11
Roll Skia from 8a43e206609e to 280fa3d303bf (2 revisions) (#20857) 2020-08-28 10:03:01 -07:00
skia-flutter-autoroll
3f4f58f5f3
Roll Skia from d385091edd58 to 8a43e206609e (3 revisions) (#20855) 2020-08-28 08:23:02 -07:00
skia-flutter-autoroll
5b3a16c5a9
Roll Dart SDK from 066c5625ac7b to fe5c8c44701e (1 revision) (#20854) 2020-08-28 08:03:02 -07:00
skia-flutter-autoroll
0208c71ade
Roll Fuchsia Mac SDK from tG1GErEv9... to koO5t2tfw... (#20850) 2020-08-28 06:08:01 -07:00
skia-flutter-autoroll
cca047b2c9
Roll Fuchsia Linux SDK from kbanTZZRS... to jyKllAGRu... (#20851) 2020-08-28 04:48:01 -07:00
skia-flutter-autoroll
81a4748d64
Roll Dart SDK from ac54810c36a9 to 066c5625ac7b (1 revision) (#20849) 2020-08-28 03:33:01 -07:00
skia-flutter-autoroll
8e16dbf4a8
Roll Skia from 952f088d41e1 to d385091edd58 (4 revisions) (#20847) 2020-08-28 00:18:02 -07:00
skia-flutter-autoroll
52def6e885
Roll Dart SDK from 8e50ccae259f to ac54810c36a9 (1 revision) (#20844) 2020-08-27 23:23:02 -07:00
Ferhat
3ccf1ed2ec
Cliprect op (#20837)
* Switched PathCommand apply parameter to non-nullable. Add clip op parameter to ClipCommand.
2020-08-27 22:38:03 -07:00
Ferhat
e67ae1e307
[web] Fix path rendering when addPolygon is chained with other verbs. (#20803) 2020-08-27 20:25:38 -07:00
William Wold
1a034bde75
Replace FlRenderer::get_visual() with more generic FlRenderer::setup_window_attr() (#20833) 2020-08-28 14:31:34 +12:00
skia-flutter-autoroll
808f9c27e2
Roll Skia from 716e281185b5 to 952f088d41e1 (1 revision) (#20839) 2020-08-27 19:08:02 -07:00
skia-flutter-autoroll
be21aa9922
Roll Skia from ee58da9d6f49 to 716e281185b5 (2 revisions) (#20835) 2020-08-27 17:48:01 -07:00