Commit Graph

240 Commits

Author SHA1 Message Date
Chinmay Garde 06afdfe54e Ensure that application termination callbacks are serviced on the runner thread. (#5247)
This removes the Application::Delegate interface and instead uses a closure that captures the task runner. The interface was expected to be more complicated than it turned out to be.
2018-05-11 20:11:02 -07:00
Chinmay Garde b14a33c472 Perform termination in response to session errors on the platform thread. (#5246)
Follows the same pattern followed for termination in response to isolate shutdown.
2018-05-11 19:26:39 -07:00
Chinmay Garde 620d2fd913 Fix use-after-move while stashing the active applications in the runner. (#5245) 2018-05-11 18:45:20 -07:00
Chinmay Garde 613abf2d8a Terminate the engine immediately if there are isolate launch errors. (#5244) 2018-05-11 18:32:35 -07:00
Chinmay Garde b34ab18357 Don’t terminate the runner when it has no more applications. (#5243)
Instead, keep it around to service more requests. There may be a race between runner shutdown and request for new applications.
2018-05-11 17:05:22 -07:00
Chinmay Garde 75f0c42824 Add required reference to fonts/fidl (#5241) 2018-05-11 15:17:40 -07:00
Jason Simmons 4a4cff96d4 Remove Blink code (#5218)
Fixes https://github.com/flutter/flutter/issues/12212
2018-05-10 15:57:29 -07:00
Chinmay Garde 4fa6be7cee Fix channel encoding errors on the IME client. (#5209) 2018-05-08 16:20:42 -07:00
Chinmay Garde f64f64eee4 Tear down the shell before terminating message loops on host threads. (#5207)
Shell teardown is synchronous. The shell was attempting to destroy components on a quitting message loop. The message loop implementation was executing such tasks on the calling thread which the shell does not consider thread safe.
2018-05-08 13:10:23 -07:00
Chinmay Garde a0be8779ff Make thread names more descriptive. (#5196)
The thread on which the runner services `CreateApplication` calls is now called `io.flutter.runner.<aot|jit>`. Each application will launch four threads named `<application_name>.<platform|ui|io|gpu>`.

`fx shell ps -T` is an easy way to tell which runners are hosting which applications.
2018-05-07 18:45:43 -07:00
Chinmay Garde 9110e89582 Expose View:OfferServiceProvider to UI thread components in a thread safe manner. (#5195) 2018-05-07 18:22:53 -07:00
Chinmay Garde eb5bbdac17 Specify a custom isolate snapshot per AOT shell launch. (#5194) 2018-05-07 17:46:36 -07:00
Chinmay Garde 13abe8772e Use a view container handle instead of a reference to the view interface ptr when configuring an isolate. (#5179) 2018-05-04 14:27:57 -07:00
Chinmay Garde 9b7cc44df1 Dart bindings own the FDIO namespace. Release the engine side reference to the handle after bindings are setup. (#5156) 2018-05-02 16:37:48 -07:00
Chinmay Garde fd1c484f8e Log errors on common interface channels and use interface handles for IsolateConfigurator. (#5124) 2018-04-27 18:40:56 -07:00
Chinmay Garde 8a5c92b22f Label threads before engine launch so early lifecycle crashes and logs have thread labels on them. (#5121) 2018-04-27 16:26:16 -07:00
Chinmay Garde 5b5d920746 Use interface handles for transferring ownership of channels across threads. (#5107)
* Scenic is used on the GPU thread and is owned by the session connection held by the rasterizer.
* The view container is used to initialize the mozart bindings on the UI thread.
* Accessibility bridge is used on the platform thread.
2018-04-26 18:40:53 -07:00
Chinmay Garde a9a53d404b Use the non-thread-hostile FontProviderSyncPtr for font resolution. (#5105) 2018-04-26 15:31:43 -07:00
Chinmay Garde 2ee36e2700 Always enable verbose logging on fuchsia. (#5104) 2018-04-26 14:40:04 -07:00
Chinmay Garde 131349f839 Update flutter runner process name to reflect last running shell. (#5102) 2018-04-26 13:41:03 -07:00
Ryan Macnak 78f8a0f45a [fuchsia] Changes for running Dart 2 on flutter_runner. (#5080)
- Remove assumption that we're in Dart 2 mode only if there's a platform kernel.
 - Load core snapshots from the package instead of linking them in.
2018-04-25 13:31:13 -07:00
Chinmay Garde 6a93ef1c70 Call SkGraphics::Init earlier on Fuchsia. (#5079) 2018-04-24 16:02:54 -07:00
Chinmay Garde 79b9ffb14b Fixup Fuchsia content handler post shell refactor. (#5072) 2018-04-23 20:16:01 -07:00
Chinmay Garde 58e84c8bf0 Re-land "Support multiple shells in a single process. (#4932)" (#4998)
* Re-land "Support multiple shells in a single process. (#4932)"

This reverts commit 723c7d0143.
2018-04-13 13:48:15 -07:00
Adam Barth 0c74fc93d9 [fuchsia] Fix use-after-free (#4987)
We were trying to re-establish the wait after calling Reset(), but
Reset() can result in the surface being destroyed. Now we re-establish
the wait inside the Reset() machinery.
2018-04-12 14:25:40 -07:00