10908 Commits

Author SHA1 Message Date
Emmanuel Garcia
521827d230 Always set the callback during Rasterizer setup (flutter/engine#20976) 2020-09-03 10:48:46 -07:00
Nathan Rogers
a35a7967ea [fuchsia] Send trace events to system tracing on all configurations (flutter/engine#20974)
This change reverts https://github.com/flutter/engine/pull/15900.  The
design of the expected consumer of the original PR changed, and the
feature ended up going unused.  Since the unexpected difference in trace
event routing behavior has mostly ended up as a source of confusion,
change things back to route trace events to Fuchsia system tracing on
all configurations.
2020-09-03 10:21:36 -07:00
skia-flutter-autoroll
82df092fb9 Roll Skia from be72801f29f9 to f8823b572600 (1 revision) (flutter/engine#20973) 2020-09-03 08:50:01 -07:00
skia-flutter-autoroll
e94facea69 Roll Skia from a66a9c31a318 to be72801f29f9 (1 revision) (flutter/engine#20971) 2020-09-03 06:20:02 -07:00
skia-flutter-autoroll
e2fbe43942 Roll Skia from 683beccf6776 to a66a9c31a318 (4 revisions) (flutter/engine#20969) 2020-09-03 00:50:02 -07:00
skia-flutter-autoroll
be79c21fa7 Roll Fuchsia Linux SDK from knpSoAoZq... to odFvFQV9Z... (flutter/engine#20968) 2020-09-02 23:05:01 -07:00
Emmanuel Garcia
a942137a5d Only clear GL context after changing the thread configuration (flutter/engine#20965) 2020-09-02 22:10:02 -07:00
skia-flutter-autoroll
882495fb48 Roll Skia from 3d1d636cd839 to 683beccf6776 (13 revisions) (flutter/engine#20961) 2020-09-02 16:55:02 -07:00
Emmanuel Garcia
aea17076cb Clear GL context before Gr context (flutter/engine#20957) 2020-09-02 15:08:16 -07:00
nturgut
0239bf949d renaming e2e tests to integration (flutter/engine#20954)
* renaming e2e tests to integration

* change the name of the files in the blocked list
2020-09-02 14:52:09 -07:00
skia-flutter-autoroll
0ab08208c7 Roll Skia from e9a9ad908226 to 3d1d636cd839 (6 revisions) (flutter/engine#20955) 2020-09-02 13:50:01 -07:00
Dan Field
3dcd0fb2b7 Revert external size changes to Picture (flutter/engine#20950) 2020-09-02 13:42:25 -07:00
Dan Field
f83e92cbaf Use hint freed specifically for image disposal (flutter/engine#20754)
* Use hint freed specifically for image disposal
2020-09-02 13:41:58 -07:00
skia-flutter-autoroll
3b48f58731 Roll Skia from 8fa3b4e8cde5 to e9a9ad908226 (5 revisions) (flutter/engine#20952) 2020-09-02 12:25:01 -07:00
skia-flutter-autoroll
f026cf1de5 Roll Skia from 1338a37a1add to 8fa3b4e8cde5 (6 revisions) (flutter/engine#20949) 2020-09-02 11:03:02 -07:00
Alexander Aprelev
84121702c9 Log exception in addition to the stack trace for unhandled exceptions. (flutter/engine#20935)
* Log exception in addition to the stack trace for unhandled exceptions.

Having exception logged can be especially useful when stack trace is blank.
2020-09-02 09:47:09 -07:00
skia-flutter-autoroll
449a11bedc Roll Fuchsia Linux SDK from 9tLNFbjA1... to knpSoAoZq... (flutter/engine#20944) 2020-09-02 09:43:01 -07:00
skia-flutter-autoroll
712abf928a Roll Skia from 7b46300fe4ff to 1338a37a1add (16 revisions) (flutter/engine#20943) 2020-09-02 09:38:02 -07:00
Emmanuel Garcia
21c1d0ac9f Clear the GL context only after submitting the frame (flutter/engine#20931)
* Clear the GL context only after submitting the frame
* Fix Screenshot test
2020-09-02 08:46:11 -07:00
Gary Qian
a1755b3feb [Android R] Integrate DisplayCutouts into viewportMetrics (flutter/engine#20921) 2020-09-02 05:18:35 -07:00
Yuqian Li
19ebd61442 Revert "Create root isolate asynchronously (#20142)" (flutter/engine#20937)
This reverts commit b3bb6df94c4537240fb563c2394c18ed984a82df.
2020-09-01 22:05:53 -07:00
Jim Graham
22e1f69704 Revert "Adds fuchsia node roles to accessibility bridge updates. (#20385)" (flutter/engine#20936)
This reverts commit 26659fa0fd05b2f3cc3c2e530298659702e1f869.
2020-09-01 21:21:07 -07:00
Gábor
70cb5eec9e Image.toByteData and Picture.toImage implementations (#3) (flutter/engine#20750)
* `Image.toByteData()` was not implemented in either DomCanvas or CanvasKit. This PR covers **both.**
* `Picture.toImage()` was not implemented in either DomCanvas or CanvasKit. This PR covers **CanvasKit**
2020-09-01 17:01:18 -07:00
Emmanuel Garcia
12b8249404 Ensure all images are closed in FlutterImageView (flutter/engine#20842) 2020-09-01 16:57:45 -07:00
Alexander Brusher
26659fa0fd Adds fuchsia node roles to accessibility bridge updates. (flutter/engine#20385) 2020-09-01 13:33:02 -07:00
chenjianguang
b3bb6df94c Create root isolate asynchronously (flutter/engine#20142)
## Description
As the related issue refer, the application may be doing too much work on its main thread even in a simple hello_world demo.
That is because the creation of `Engine` on the ui thread takes a noticeable time, and it is blocking the platform thread in order to run `Shell::Setup` synchronously.
The cost of `Engine`'s constructor is mainly about the creating of root isolate. Actually, there used to be another time-consuming process, the default font manager setup, which was resolved by https://github.com/flutter/engine/pull/18225. 
Similar to https://github.com/flutter/engine/pull/18225, this pr move the creation of root isolate out from creating `Engine`. After this action, the main thread blocking is quite an acceptable slice.

## Related Issues
https://github.com/flutter/flutter/issues/40563 could be resolved by this pr.
2020-09-01 13:31:00 -07:00
skia-flutter-autoroll
e5c71ad2c6 Roll Skia from 3913d3e137ed to 7b46300fe4ff (4 revisions) (flutter/engine#20924) 2020-09-01 11:08:01 -07:00
skia-flutter-autoroll
589860265e Roll Fuchsia Linux SDK from _SVZn8uN2... to 9tLNFbjA1... (flutter/engine#20920) 2020-09-01 11:03:02 -07:00
stuartmorgan
d8919860ab Default C++ wrapper templates to EncodableValue (flutter/engine#20760)
The C++ wrapper makes heavy use of templates to support arbitrary types
in the platform channel classes, but in practice EncodableValue is what
essentially all code will use. This defaults those template types to
reduce boilerplate in plugin code (e.g., allowing the use of
MethodChannel<> instead of MethodChannel<EncodableValue>).
2020-09-01 10:56:46 -07:00
Jason Simmons
4bd9085a47 Pass text input key events to the EventResponder if they do not yield characters (flutter/engine#20912)
If the InputConnectionAdaptor receives a key event that does not move
the caret or produce a text character (such as the back button), then
the event should be given to the EventResponder which will forward it
to the view.

Fixes https://github.com/flutter/flutter/issues/64864
2020-08-31 17:56:09 -07:00
Jason Simmons
5aa323a30c Reset Shell::weak_factory_gpu_ on the raster thread (flutter/engine#20869) 2020-08-31 16:03:02 -07:00
stuartmorgan
f38bc774e7 [windows] Add horizontal scroll support (flutter/engine#20668)
The embedding was only handling vertical scroll events from the OS; this
adds horizontal as well.

Fixes https://github.com/flutter/flutter/issues/60835
2020-08-31 16:01:38 -07:00
skia-flutter-autoroll
1830e42468 Roll Skia from 44e96bee4b6a to 3913d3e137ed (2 revisions) (flutter/engine#20909) 2020-08-31 15:48:02 -07:00
Emmanuel Garcia
6f802144be Wait for first frame before checking layer tree (flutter/engine#20910) 2020-08-31 15:03:31 -07:00
xster
7b62a6c11a Add auto plugin registration to FlutterFragmentActivity as well (flutter/engine#20865) 2020-08-31 13:43:46 -07:00
skia-flutter-autoroll
467d29ac83 Roll Skia from db5582b71116 to 44e96bee4b6a (4 revisions) (flutter/engine#20908) 2020-08-31 13:23:02 -07:00
Emmanuel Garcia
2f8279900b Reland: Enable hybrid composition by default on Android (#20722) (flutter/engine#20864)
This reverts commit bb885a23e20d79c163dc884530acaafd6c311f2a.
2020-08-31 12:17:11 -07:00
skia-flutter-autoroll
1d7f442c77 Roll Skia from ffd61ca01246 to db5582b71116 (2 revisions) (flutter/engine#20904) 2020-08-31 11:18:01 -07:00
skia-flutter-autoroll
dada8a8e82 Roll Fuchsia Linux SDK from URyuiPqyX... to _SVZn8uN2... (flutter/engine#20903) 2020-08-31 11:13:02 -07:00
Emmanuel Garcia
2308969ed6 Fix race condition (flutter/engine#20905) 2020-08-31 10:11:41 -07:00
skia-flutter-autoroll
0c957e9594 Roll Skia from c23eeb8c78ec to ffd61ca01246 (1 revision) (flutter/engine#20901) 2020-08-31 08:08:02 -07:00
skia-flutter-autoroll
84098030b8 Roll Skia from ba1e083d37f6 to c23eeb8c78ec (3 revisions) (flutter/engine#20893) 2020-08-31 01:58:01 -07:00
skia-flutter-autoroll
7e1d09247e Roll Skia from 85f51b2a409c to ba1e083d37f6 (1 revision) (flutter/engine#20892) 2020-08-30 22:58:01 -07:00
Chris Bracken
5f363dcee6 Improve the precision of lerpDouble (flutter/engine#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
aaefbb493c [web] Fix path clip crash when reused (flutter/engine#20846) 2020-08-30 19:35:39 -07:00
skia-flutter-autoroll
4fb1e6175b Roll Fuchsia Linux SDK from UAi35C_0e... to URyuiPqyX... (flutter/engine#20889) 2020-08-30 11:33:01 -07:00
Chris Bracken
f113960205 lerpDouble: stricter handling of NaN and infinity (flutter/engine#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
d42e2f004c Extract Dart test utilities library (flutter/engine#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
02bc5ffa90 Roll Skia from 3872c989512c to 85f51b2a409c (1 revision) (flutter/engine#20888) 2020-08-30 09:23:01 -07:00
skia-flutter-autoroll
8cee49c7ae Roll Skia from d5961b33e87f to 3872c989512c (1 revision) (flutter/engine#20887) 2020-08-30 07:23:01 -07:00