tree ff5fda4cb2c35b05de0e0342e591581a02728615
parent f46ea7e16d8abb1ad705ebce9f8f9ca7612b7b2e
author Tong Mu <dkwingsmt@users.noreply.github.com> 1685054255 -0700
committer GitHub <noreply@github.com> 1685054255 +0000
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJkb+MvCRBK7hj4Ov3rIwAAEAQIADfHAHHl+NimuwiLT18a9TZk
 NbcXhHSTPwGumH+wLqkthXYelaqMbt9ihILnQ+jKF6GlQEzm+/36xMzI43X0z/oK
 cXov8IAu6n0Dk9tYir/SRVM4YcJKPPLrELAJxIMEUXNBEOHaI2jMrTJ7SpuOY8Sb
 tpxPivrKvN6yHT8NSNnZbiqgM7XOG8bRR6TjUIrZHwptYIYdZWyy+C/Evuf+bSG/
 a873vo3J+HcBFsaghw97918lsGo0MHLTYUiBeAFt+IlqwGZVWHsSYhh0+8CL6AIS
 qn/Qpwkg3fQlJ0oJn+4dXh0WP7Nif8LprnJk3n4kdkSlArZCfVV/feaknBKsZ70=
 =p5v4
 -----END PGP SIGNATURE-----
 

[macOS] Multi-view thread synchronizer (#41915)

This PR adapts `FlutterThreadSynchronizer` to multi-view.

### Problem
The `FlutterThreadSynchronizer` is a macOS engine class to ensure that, if the current window is resized, nothing will not be presented until the layer tree is drawn with the up-to-date size. 

This class is not compatible with multiview. A simple way to realize it is: while the class is owned by `FlutterView`, it blocks the _global_ platform thread and rasterizer thread - there is got to be some problems. Indeed, when I was testing with multiple windows (https://github.com/flutter/engine/pull/40399), the app freezes as soon as I resize a window.

The problem is because Flutter only have one rasterizer thread. When I'm resizing window A, A's synchronizer detects that the size mismatches, so it blocks the rasterizer thread to wait for an updated content with the updated size. However, window B is to be rendered next, and B's size matches and will try to rasterize, and will be blocked due to the blocked rasterizer thread, window A's updated content will never arrive, causing a deadlock.

### Changes
This PR removes the single-view assumption of `FlutterThreadSynchronizer` by making it created by `FlutterEngine` and shared by all `FlutterView`s, and that it prevents rasterization for all views if any view has a mismatched size.

The synchronizer is assigned to the view controller in the `attachToEngine:withId` method (now renamed to `setUpWithEngine:viewId:threadSynchronizer:`.

This PR also adds unit tests for `FlutterThreadSynchronizer`, which didn't have any unit tests at all.
* To achieve this, the `beginResizeForView:` method no longer checks whether  is called on the main thread, but whether it's called on the main queue. These are equivalent for the real main queue, since the documentation promises that the main queue always executes on the main thread. However, this change allows substituting the queue with a custom one for unit tests.

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style