Commit Graph

324 Commits

Author SHA1 Message Date
Mehmet Fidanboylu 204e7da36c New setting to decide whether we want the engine to load ICU mapping. (#7928) 2019-02-22 14:49:15 -08:00
liyuqian e2a449a519 Move canvas clear after preroll (#7923)
This will reduce 1 render target switch when preroll paints some raster
cache.
2019-02-22 12:48:04 -08:00
Chinmay Garde 33bb91cc15 Allow embedders to specify a vsync waiter. (#7914)
Fixes https://github.com/flutter/flutter/issues/28240
2019-02-21 23:02:32 -08:00
Jason Simmons 043d92c48a Embedder API for setting the persistent cache path (#7915)
Fixes https://github.com/flutter/flutter/issues/28278
2019-02-21 17:30:17 -08:00
Chinmay Garde 684c9394c0 Respect the custom GL proc table when creating the resource context on the IO thread. (#7893)
Fixes https://github.com/flutter/flutter/issues/28229
2019-02-20 17:23:14 -08:00
Dan Field 572fea361c Revert "Shut down and restart the Dart VM as needed. (#7832)" (#7877)
This reverts commit 0d6ff1669c.
2019-02-19 16:14:18 -08:00
Chinmay Garde 0d6ff1669c Shut down and restart the Dart VM as needed. (#7832)
The shell was already designed to cleanly shut down the VM but it couldnt
earlier as |Dart_Initialize| could never be called after a |Dart_Cleanup|. This
meant that shutting down an engine instance could not shut down the VM to save
memory because newly created engines in the process after that point couldn't
restart the VM. There can only be one VM running in a process at a time.

This patch separate the previous DartVM object into one that references a
running instance of the DartVM and a set of immutable dependencies that
components can reference even as the VM is shutting down.

Unit tests have been added to assert that non-overlapping engine launches use
difference VM instances.
2019-02-15 14:16:17 -08:00
nathanrogersgoogle e2394ad77e Add flow events connecting pointer events to frames (#7807) 2019-02-13 22:27:12 -08:00
nathanrogersgoogle 12d0b95c24 Don't call OnAnimatorNotifyIdle if a frame is scheduled (#7746)
If a frame is scheduled by the time the delayed animator notify idle
task runs, then we should not call |NotifyIdle|.

Also, add a trace event in the task, to make it more clear in traces
when a notify idle call is coming from here (as opposed to
|Animator::AwaitVSync|).
2019-02-08 15:14:06 -08:00
liyuqian 2f87713d40 Revert "Disable the persistent cache (#6835)" (#7689)
This reverts commit 093b2fea8a.

For https://github.com/flutter/flutter/issues/24058, We now only get a
"Program linking failed" error message on Windows Android simulators
without crahsing. Skia seems to have handled the linking failure in
https://skia-review.googlesource.com/c/skia/+/180372 by rebuilding the
program.
2019-02-05 11:17:21 -08:00
Kaushik Iska 93aa035dd4 Don't warn for Async texture uploads on Fuchsia (#7691) 2019-02-04 17:04:08 -08:00
Kaushik Iska b94e759b25 Expose the Flutter engine, Dart and Skia versions to Dart. (#7634)
- Moved versions from shell to common
- versions singleton contains all the required versions.
2019-01-30 16:22:45 -08:00
Jason Simmons 050dcaad60 Embed ICU data inside libflutter.so on Android (#7588)
Prior to this the Android embedder code would extract the icudtl.dat asset out
of the APK and write it to local disk during the first startup of the app.

This change will make that work unnecessary and eliminate the risk of ICU
failures due to errors in the extraction process.
2019-01-30 11:56:17 -08:00
Chinmay Garde 79dc315dc4 Allow the engine to redirect traces to systrace via settings. (#7617) 2019-01-28 17:39:31 -08:00
Brian Osman 50ddc3712f Remove SkColorSpaceXformCanvas, use color-managed SkSurfaces instead (#7548)
Behavior (visual) changes should be very minor. Things that are to be expected:
* A few things were not color managed correctly by the transform canvas (color emoji, some color filters). Those will be handled correctly with the tagged surfaces (although we're always transforming to sRGB, so nothing should change until we target a wider gamut).
* Image filtering will happen in the source color space, rather than the destination. Very minor.
* The transform canvas did caching of images in the destination color space. Now, the conversion happens at draw time. If there are performance issues, images can be pre-converted to the destination with makeColorSpace().
2019-01-22 15:34:51 -05:00
Dan Field 4acfced383 Ensure the ResourceContext is not ripped out from under dart (#7528)
* Ensure the ResourceContext is not ripped out from under dart
2019-01-17 13:55:44 -08:00
Dan Field 43fa420b04 Make IOManager own resource context (#7272)
* Make IOManager own resource context
2019-01-14 13:46:38 -08:00
Chinmay Garde b972f75db5 Allow embedders to add per shell idle notification callbacks. (#7427) 2019-01-09 14:33:56 -08:00
Jason Simmons 079d604523 Add a system message channel for controlling the Skia resource cache size (#7257)
See https://github.com/flutter/flutter/issues/25244
2018-12-19 17:40:16 -08:00
Anthony Bullard 1bc7ccf605 Support real fonts in 'flutter test' (#6913)
* Support real fonts in 'flutter test'

Change the order of font_managers to query in font_collection
so that dynamic_font_manager fonts will be resolved.

Tested with test case in `flutter/flutter` repo:

`packages/flutter/test/rendering/localized_fonts_test.dart`

Ensured:
- A font loaded with FontLoader will be used
- The default 'Ahem' font is still loaded by default

The test above still cannot be fixed because FontLoader and the
underlying mechanisms don't cover Locale-specific font loading
and therefore a CJK font-family won't be able to be loaded as needed
for that test.

Fixes #17700

* Format fixup
2018-12-14 10:05:41 -08:00
liyuqian 2bd75ae8ba Support querying display refresh rate in engine (#7002)
The current implementation only deals with Android devices and we'll add iOS devices support soon.
2018-12-12 10:28:44 -08:00
Chris Bracken 08922e112d Rename dart-non-checked-mode: disable-dart-asserts (#6977)
In Dart 2, runtime checked mode has been eliminated. Many of these type
checks have been moved to static compile-time checks, the remainder are
enforced at runtime, and are no longer optional.
2018-12-10 12:36:09 -08:00
Chris Bracken dcfae4e803 Eliminate main_dart_file_path, package_file_path (#6973)
These settings were specific to Dart 1 and are no longer used in the
engine. This eliminates them from the Settings class.
2018-12-10 09:12:10 -08:00
Michael Goderbauer 2f706bea07 Fix EXIF orentation problem (#6974) 2018-11-27 14:12:13 -08:00
Chris Bracken f804a1fc6b Improve error message when kernel not set (#6924)
Pushes the check up front so that we don't always land on the
application_kernel_list_asset error message, which may be misleading to
readers.

Also switches the empty check to only emit in debug builds, since this
is almost certainly not a runtime error but a programmer error.
2018-11-26 11:29:56 -08:00