The #35019 didn't merge SettingsPluginWin32's constructor and destructor. This PR adds them and fix SettingsPlugin to re-enable it to watch the theme changes.
This PR is part of flutter/flutter#110700.
No changes in the flutter/tests repo.
Part 1 sets up the test to run but the UI has not been
ported yet so the test hangs.
This is mostly a straight port from
https://cs.opensource.google/fuchsia/fuchsia/+/main:src/ui/tests/integration_input_tests/text-input/
There were some nuances:
- Some FIDL APIs are not available in the SDK and have to be
referenced by name instead (vulkan.Loader, scheduler.ProfileProvider).
- Some subtle differences between the GN rules in fuchsia.git
vs. engine (e.g. fuchsia_component doesn't append .cm by default to
CFv2 output).
- Moved shared logic from embedder test into a utils/ folder to
facilitate writing new tests in the future.
Part 2 will port over the UI to dart:ui.
GObject's dispose() method may be called multiple times. Guard against
trying to disconnect the same signal multiple times by clearing the ID
to avoid warnings when closing the window.
```
(bug:74019): GLib-GObject-WARNING **: 11:15:08.697: ../../../gobject/gsignal.c:2731: instance '0x55e1c3ea0200' has no handler with id '255'
```
* Recognize high contrast theme switch
* Trigger high contrast mode based on OS
* Confirm updated status and flag via unit test
* Remove null check, format
* Formatting
* More formatting
* Import order
* Refactor for PR
* Formatting
* Rename Update to Send
* Remove queued flags
* Add OnThemeChange unit test
* Format for linux_unopt
* Remove unneeded expect
* Test SendInitialAccessibilityFeatures
* Keep null check to embedder
This crash has come up a number of times and we tend to
burn time looking in the wrong places for the fix. Documenting
some stuff about how we've fixed it previously in the error
message.
* Include checkbox in check state update
* Windows test for checkbox native state
* Reformat to appease linux_unopt test
* More format hoops
* Update accessibility_bridge_unittests.cc
* Update flutter_windows_view_unittests.cc
When setting FlutterProjectArgs.command_line_argv prior to launching the
engine, we were previously setting a placeholder value rather than the
executable name. This resulted in Platform.executable (from dart:io)
returning "placeholder" in application code.
This updates the Windows implementation for consistency with macOS and
guarantees that Platform.executable will return a reasonable value in
Dart code.
Note that this does not affect Platform.resolvedExecutable, which returns
a full, resolved path, and is implemented in the Dart runtime itself.
Previously the code:
print(Platform.executable);
print(Platform.resolvedExecutable);
resulted in the following output on Windows:
flutter: placeholder
flutter: C:\path\to\project\build\windows\runner\Debug\project.exe
after this patch, it results in:
flutter: project.exe
flutter: C:\path\to\project\build\windows\runner\Debug\project.exe
Issue: https://github.com/flutter/flutter/issues/83921