319 Commits

Author SHA1 Message Date
gaaclarke
e41c775200 Removed instances of unnecessary values (flutter/engine#36221) 2022-09-26 21:28:04 +00:00
gaaclarke
6b2a14d348 Isolate platform channels for desktop (flutter/engine#35893) 2022-09-20 23:56:04 +00:00
Dan Field
08312a825e Lint and fix bugprone-use-after-move violations (flutter/engine#35978) 2022-09-09 02:41:03 +00:00
gaaclarke
42c469183e Started handling messages from background isolates for iOS (flutter/engine#35174) 2022-09-08 00:03:27 +00:00
yaakovschectman
8e3c8bc88f Engine startup event timed after VM initializes (flutter/engine#35713)
* Engine startup event timed after VM initializes

* Formatting

* Update FlutterEngineMainEnter event comment

* Remove engine_start_time

* Remove unused variable
2022-08-31 10:48:44 -04:00
xiaomiao
d490b4edae Move task running to UI thread for loadDartDefferredLibrary. (flutter/engine#35460) 2022-08-18 16:43:24 +00:00
Dan Field
132ab1a321 Reland toImageSync (flutter/engine#35283) 2022-08-09 22:32:04 +00:00
Dan Field
abbca7b5e4 Revert "Collect textures from toImageSync safely (#35073)" (flutter/engine#35281)
This reverts commit 1f9bb2c26554f53995e7d02afc54a5566ad3310c.
2022-08-09 14:32:32 -07:00
Dan Field
1f9bb2c265 Collect textures from toImageSync safely (flutter/engine#35073) 2022-08-09 13:21:59 -07:00
Jonah Williams
1245043020 Support hot reload of asset fonts (flutter/engine#35213) 2022-08-08 18:06:05 +00:00
Zachary Anderson
ab33453a89 Roll mac clang, ignore spurious lints (flutter/engine#35196) 2022-08-05 15:50:08 -07:00
Jonah Williams
43c54b4b98 Update setAssetDirectory service extension to fail if provided path is invalid (flutter/engine#35178) 2022-08-05 15:47:04 +00:00
ColdPaleLight
e1fe7327b1 Use the correct 'SnapshotDelegate' in 'RuntimeController::Spawn' (flutter/engine#34523) 2022-07-13 01:09:04 +00:00
Chinmay Garde
20def47959 Remove unactionable verbose log about ignored viewport metrics. (flutter/engine#34231) 2022-06-22 12:34:06 -07:00
Jonah Williams
728640769b dont pixel snap raster cache if SUPPORT_FRACTIONAL_TRANSLATION is enabled (flutter/engine#34002) 2022-06-13 16:43:05 -07:00
Kaushik Iska
d5be7dccbc transform bounds to device space before sending to vmservice (flutter/engine#33853) 2022-06-06 14:28:04 -07:00
ColdPaleLight
b1ad898b4e Correct the frame timing in 'Rasterizer::Draw' when pipeline is more available (flutter/engine#32283) 2022-06-03 10:18:06 -07:00
Kaushik Iska
916f9bcab5 Fix layer tree snapshot values (flutter/engine#33753) 2022-06-01 10:18:05 -07:00
Kaushik Iska
796e65f687 Layer snapshots also contain bounds information (flutter/engine#33615) 2022-05-25 11:43:04 -07:00
Chris Bracken
09285aac02 Use empty in place of size checks vs 0 (flutter/engine#33151) 2022-05-06 13:09:04 -07:00
ColdPaleLight
e9f78111c6 Clean obsolete 'shared_resource_context' (flutter/engine#32521) 2022-04-14 13:24:05 -07:00
Kaushik Iska
d8e73006e0 Add service protocol method to facilitate getting snapshots (flutter/engine#32628) 2022-04-13 13:39:05 -07:00
ColdPaleLight
31e332ee32 Tuning resource cache max bytes in lightweight engine scenarios (flutter/engine#32156) 2022-03-31 21:11:05 -07:00
Chinmay Garde
351494f717 Add support for images in display lists. (flutter/engine#32268) 2022-03-30 13:31:37 -07:00
Chris Yang
840af99590 Make Get GetVsyncWaiter return weak_ptr to prevent dangling pointer crash (flutter/engine#32121) 2022-03-21 11:05:05 -07:00
ColdPaleLight
05bb17d606 Always update the latest frame target time when the 'Animator::Render' method is called (flutter/engine#31973) 2022-03-21 09:35:02 -07:00
Chinmay Garde
34f3581a3c Switch the renderer to impeller based on the presence of a command line flag. (flutter/engine#31959)
Specifying the `--enable-impeller` flag will switch the renderer to using
Impeller instead of Skia. On platforms where Impeller is not supported, this
flag is ignored.

The notion of the `flutter::SurfaceFrame` has been augmented. Now, in the
absence of a Skia surface to render to, the surface frame will render into a
display list instead.

Impeller variants of the context and surface variants have been added to
`shell/gpu` and `shell/platform`. The variants prepare surface frames that
don’t/can’t specify a Skia surface thus forcing the surface frame to render to a
display list instead. Then, in the submit callback, they forward the display
list ops to the Impeller display list dispatcher.

This scheme has been chosen as it requires the fewest updates to engine
internals which all depend on Skia data structures. Instead of updating all
call-sites to be Skia neutral, the display list interface itself is being made
graphics package agnostic.
2022-03-15 14:12:53 -07:00
ColdPaleLight
043d9d2e39 Add an embedder.h API for scheduling frame (flutter/engine#31304) 2022-02-17 13:24:10 -08:00
Emmanuel Garcia
d1d733c608 Conditionally call FlutterViewDestroyOverlaySurfaces (flutter/engine#31464) 2022-02-17 12:19:02 -08:00
Emmanuel Garcia
9315ec14d1 Reland: Teardown external view embedder prior to unmerging threads (flutter/engine#31122) 2022-02-03 11:55:04 -08:00
ColdPaleLight
58e15e00e3 Don't pause Animator when lifecycle state paused (flutter/engine#30969) 2022-01-27 15:55:07 -08:00
ColdPaleLight
b64598bef6 Refactor type of deadline in the method NotifyIdle to fml::TimePoint (flutter/engine#30737) 2022-01-19 17:25:09 -08:00
gaaclarke
1724b4f192 Reland: iOS Background Platform Channels (#29665) (flutter/engine#30697)
* iOS Background Platform Channels (#29665)

* added test that passes before this change, and fails after it

* started supporting backwards compatible usage of setting handlers
2022-01-12 09:57:29 -08:00
Chris Yang
a50ebf3955 Variable Refresh Rate Display (flutter/engine#30223) 2022-01-11 10:55:10 -08:00
eggfly
6b1d2dcdbc Share the io_manager between parent and spawn engine (flutter/engine#29915) 2021-12-01 10:34:01 -08:00
eggfly
2f9a4fba3f Remove remaining usages of getUnsafe() (flutter/engine#29941) 2021-11-29 21:24:01 -08:00
eggfly
b87bbe9bc9 Fix typo and clean some includes (flutter/engine#29940) 2021-11-29 09:34:38 -08:00
ColdPaleLight
9ecd4c1899 Make FlutterEngineGroup support dart entrypoint args (flutter/engine#29096) 2021-11-18 18:08:03 -08:00
Tong Mu
5183c56533 [Embedder] Send key data through message channel (flutter/engine#29795)
This PR changes how embedder API's SendKeyData sends ui.KeyData to the framework. The packets are now sent over the existing platform messenger, reusing the entirety of its code path and functionalities while keeping the embedder API unchanged
2021-11-18 17:53:28 -08:00
Dan Field
0a6301d5ca Listen for display refresh changes and report them correctly (flutter/engine#29800)
This makes sure the frame timings recorder and vsync waiter implementations get
the correct refresh rate if or when it adjusts at runtime. This should be OK
because we'll only query the refresh rate when the display metrics actually
change, which is much less frequent than every frame. I experimented with an NDK
implementation in the previous patch, but that vastly restricts the API levels
we can support, and currently on API 30 and 31 it just calls Java methods
through JNI anyway.

I've refactored the way Display updates are reported so that AndroidDisplay can
just dynamically get the refresh rate correctly. These values are used by a
service protocol extension and by some Stopwatches on the CompositorContext.

See also #29765

Fixes flutter/flutter#93688
Fixes flutter/flutter#93698
2021-11-18 13:09:26 -08:00
Zachary Anderson
78d9e276e2 Fix some clang-tidy lints for Linux host_debug (flutter/engine#29734) 2021-11-18 13:08:01 -08:00
gaaclarke
99b17af458 Stopped creating the shell inside of a sync_switch when spawning. (flutter/engine#29798)
* Stopped creating the shell inside of a sync_switch when spawning.

* jason feedback
2021-11-17 17:34:48 -08:00
Jenn Magder
dbe42683b9 Fix 'google-readability-braces-around-statements' analyzer warning in macOS and iOS (flutter/engine#29723) 2021-11-12 18:42:29 -08:00
gaaclarke
8c4ccf58e2 Reapply: Android background platform channels (flutter/engine#29346)
* Revert "Revert "Android Background Platform Channels (#29147)""

This reverts commit 7ed91e14ccc1f5ffc4cb13d1d37e27d370c8f7cd.

* Made this PR less of a breaking change by keeping setMessageHandler's signature the same
2021-10-27 10:11:36 -07:00
Dan Field
d5c36f87f5 Revert "Android Background Platform Channels (#29147)" (flutter/engine#29344)
This reverts commit c40f7670e7aff3a42be2cbac0df067009278d639.
2021-10-26 14:52:13 -07:00
gaaclarke
c40f7670e7 Android Background Platform Channels (flutter/engine#29147) 2021-10-21 16:08:02 -07:00
Dan Field
59847e64bd Do not serialize on UI/Raster threads for Shell::OnCreatePlatformView (flutter/engine#29145)
* Do not serialize on UI/Raster threads for Shell::OnCreatePlatformView
2021-10-18 14:46:46 -07:00
Jason Simmons
79c7cfdc91 Defer setup of the default font manager if the embedding prefetched the font manager (flutter/engine#28987) 2021-10-04 13:23:02 -07:00
ColdPaleLight
3bd57ac05a Make FlutterEngineGroup support initialRoute (flutter/engine#28884) 2021-09-29 11:02:37 -07:00
Darren Chan
b82554ae4a Implement a default font manager for Fuchsia. (flutter/engine#28673)
This helps us get rid of our hacky font switch after engine initialization.

See https://fxbug.dev/76406 and https://github.com/flutter/flutter/issues/82202.
2021-09-21 12:33:37 -07:00