mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
This includes a fix for a race seen in EmbedderTest.PlatformThreadIsolatesWithCustomPlatformTaskRunner The implementaion of MergedPlatformUIThread::kMergeAfterLaunch required changing the interface of the TaskObserverAdd/TaskObserverRemove callbacks so that TaskObserverAdd returned the TaskQueueId where the observer was added. That TaskQueueId would later be given to TaskObserverRemove. The original implementation of this PR updated the embedder library's implementation of TaskObserverAdd to return TaskQueueId::kInvalid to signal that the observer was not added. However, this conflicted with the embedder's EmbedderTaskRunner, whose implementation of GetTaskQueueId returns TaskQueueId::kInvalid as a placeholder. This PR reverts the embedder's TaskObserverAdd/TaskObserverRemove to the original implementation which adds the observer to the current thread's message loop and does not call GetTaskQueueId. See https://github.com/flutter/flutter/issues/167418
Flutter Engine
Setting up the Engine development environment
See here
gclient bootstrap
Flutter engine uses gclient to manage dependencies.
If you've already cloned the flutter repository: