Commit Graph

6 Commits

Author SHA1 Message Date
Loïc Sharma
071ea49248
[Windows] Address feedback for show window comment (#127998)
Address Tong's feedback here: https://github.com/flutter/flutter/issues/127695#issuecomment-1564884872

Follow-up to: https://github.com/flutter/flutter/pull/127046
2023-05-31 23:42:54 +00:00
Loïc Sharma
ce61eda70c
[Windows] Ensure window is shown (#127046)
## Background

The Windows runner has a race at startup:

1. **Platform thread**: creates a hidden window
2. **Platform thread**: launches the Flutter engine
3. **UI/Raster threads**: renders the first frame
4. **Platform thread**: Registers a callback to show the window once the next frame has been rendered.

Steps 3 and 4 happen in parallel and it is possible for step 3 to complete before step 4 starts. In this scenario, the next frame callback is never called and the window is never shown.

As a result the `windows_startup_test`'s test, which [verifies that the "show window" callback is called](1f09a8662d/dev/integration_tests/windows_startup_test/windows/runner/flutter_window.cpp (L60-L64)), can flake if the first frame is rendered before the show window callback has been registered.

## Solution

This change makes the runner schedule a frame after it registers the next frame callback. If step 3 hasn't completed yet, this no-ops as a frame is already scheduled. If step 3 has already completed, a new frame will be rendered, which will call the next frame callback and show the window.

Part of https://github.com/flutter/flutter/issues/119415

See this thread for alternatives that were considered: https://github.com/flutter/engine/pull/42061#issuecomment-1550080722
2023-05-19 22:25:55 +00:00
Loïc Sharma
c60cf97c19
[Windows] Hide app until first frame is drawn (#109816) 2022-08-30 14:26:21 +00:00
Greg Spencer
3750beacb4
Update platform shims in dev/manual_tests (#94616)
Updates the platform shims in dev/manual_tests so that Windows and Linux can be built. I had to update the Windows shims, because I was unable to build a Windows app there.

Also updates the analyze.dart script to report all license issues simultaneously instead of just dying after the first failure.

The only substantive code changes are in dev/bots/analyze.dart and dev/bots/test/analyze_test.dart
2022-01-07 12:16:24 -08:00
Andre
3dca866f06
Fix typo in Windows template (#77405) 2021-03-05 14:09:04 -08:00
Chris Bracken
f9f5243e0a
Add Windows desktop files for manual tests (#77228)
This adds support for building and running manual tests, such as the raw
keyboard test on Windows desktop.
2021-03-04 19:02:46 -08:00