-
Notifications
You must be signed in to change notification settings - Fork 29.8k
Add windowing channel support to Linux embedder #163180
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add windowing channel support to Linux embedder #163180
Conversation
This moves the final part of the keyboard handling from FlView to the FlEngine and means keyboard should work correctly with multiple views.
|
I expect this PR will require some detail before landing, and will need to be kept in sync with #157515. Posting it now because it works and seeking early review. |
3316d1c to
488d0e3
Compare
488d0e3 to
8ea7318
Compare
|
Noting a future change I think we want. FlApplication creates the main window differently to FlWindowingHandler - I think the former should use the latter to align these. I haven't included this in this PR to reduce complexity. |
engine/src/flutter/shell/platform/linux/fl_windowing_channel.cc
Outdated
Show resolved
Hide resolved
engine/src/flutter/shell/platform/linux/fl_windowing_channel.cc
Outdated
Show resolved
Hide resolved
| fl_settings_handler_start(self->settings_handler, settings); | ||
|
|
||
| self->platform_handler = fl_platform_handler_new(self->binary_messenger); | ||
| self->windowing_handler = fl_windowing_handler_new(self); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe we should make the windowing channel available only when the --enable-multi-window=true option is specified, like we do on Windows?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I had a look at this but since we don't currently handle options like this it's not easy to add. Will look again later.
hbatagelo
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
|
// NOLINTNEXTLINE(clang-analyzer-unix.Malloc) |
Roll Flutter from 1659206 to 2e570ca (75 revisions) flutter/flutter@1659206...2e570ca 2025-02-27 engine-flutter-autoroll@skia.org Roll Skia from ac08df9c8d82 to e5a33102401c (1 revision) (flutter/flutter#164288) 2025-02-27 engine-flutter-autoroll@skia.org Roll Skia from 6018dff0233a to ac08df9c8d82 (1 revision) (flutter/flutter#164275) 2025-02-27 engine-flutter-autoroll@skia.org Roll Dart SDK from 4a218fbffc80 to fcda71ce147b (1 revision) (flutter/flutter#164276) 2025-02-27 engine-flutter-autoroll@skia.org Roll Skia from 0f2e106c9abc to 6018dff0233a (1 revision) (flutter/flutter#164266) 2025-02-27 robert.ancell@canonical.com Add windowing channel support to Linux embedder (flutter/flutter#163180) 2025-02-27 engine-flutter-autoroll@skia.org Roll Dart SDK from 7fa5901bd8a3 to 4a218fbffc80 (2 revisions) (flutter/flutter#164260) 2025-02-27 engine-flutter-autoroll@skia.org Roll Skia from fdd97386193e to 0f2e106c9abc (4 revisions) (flutter/flutter#164259) 2025-02-27 codefu@google.com Run more builds faster (flutter/flutter#164125) 2025-02-27 737941+loic-sharma@users.noreply.github.com Increase customer test timeout to 60 minutes (flutter/flutter#164239) 2025-02-27 jason-simmons@users.noreply.github.com Reland "Add a buildtools directory and move third_party/ninja to the project root in order to match the expectations of depot_tools" (flutter/flutter#164240) 2025-02-27 liama@google.com Use the Dart isolate ownership API on the root isolate (flutter/flutter#163703) 2025-02-26 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from g-2SJtblPjjaH7Egy... to 1elkOxihZuTEiTXzY... (flutter/flutter#164243) 2025-02-26 robert.ancell@canonical.com Show Linux driver information in flutter doctor (flutter/flutter#163980) 2025-02-26 34871572+gmackall@users.noreply.github.com Implement opacity `FlutterMutator` for hcpp (flutter/flutter#164147) 2025-02-26 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from g-2SJtblPjjaH7Egy... to 1elkOxihZuTEiTXzY... (flutter/flutter#164232) 2025-02-26 engine-flutter-autoroll@skia.org Roll Skia from 47b84f354604 to fdd97386193e (8 revisions) (flutter/flutter#164221) 2025-02-26 jonahwilliams@google.com [Impeller] Reland: move AHB check into Flutter main, don't disable ImageReader on 29. (flutter/flutter#164201) 2025-02-26 engine-flutter-autoroll@skia.org Roll Dart SDK from 80865748abe0 to 7fa5901bd8a3 (3 revisions) (flutter/flutter#164226) 2025-02-26 68449066+zijiehe-google-com@users.noreply.github.com Update fuchsia_test_scripts_version to the latest version (flutter/flutter#164123) 2025-02-26 brackenavaron@gmail.com Guard against zero item extent for carousel (flutter/flutter#163310) 2025-02-26 jonahwilliams@google.com [Impeller] work around for crashy Nexus 5 Driver. (flutter/flutter#164040) 2025-02-26 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Add a buildtools directory and move third_party/ninja to the project root in order to match the expectations of depot_tools (#163890)" (flutter/flutter#164209) 2025-02-26 48155875+Michae1Weiss@users.noreply.github.com Add localization for `Back` and `Cancel` buttons in CupertinoNavigationBar (flutter/flutter#162581) 2025-02-26 30870216+gaaclarke@users.noreply.github.com Added compilation failure if a max ubo size is exceeded (flutter/flutter#164038) 2025-02-26 engine-flutter-autoroll@skia.org Roll Skia from 5336e20498d9 to 47b84f354604 (2 revisions) (flutter/flutter#164188) 2025-02-26 jason-simmons@users.noreply.github.com Add a buildtools directory and move third_party/ninja to the project root in order to match the expectations of depot_tools (flutter/flutter#163890) 2025-02-26 engine-flutter-autoroll@skia.org Roll Skia from 3ce6f25dc13e to 5336e20498d9 (9 revisions) (flutter/flutter#164174) 2025-02-26 engine-flutter-autoroll@skia.org Roll Dart SDK from b8292dfeaa67 to 80865748abe0 (9 revisions) (flutter/flutter#164168) 2025-02-26 dkwingsmt@users.noreply.github.com [Engine] Remove dead code for RoundedSuperellipse (flutter/flutter#164163) 2025-02-26 jonahwilliams@google.com [Impeller] detect mediatek soc and fall back to GLES. (flutter/flutter#164126) 2025-02-26 jonahwilliams@google.com [Impeller] make DLOG into LOG for startup errors. (flutter/flutter#164110) 2025-02-26 15619084+vashworth@users.noreply.github.com Intercept error when iOS 18.4 crashes with JIT mode and give guided error (flutter/flutter#164072) 2025-02-26 98614782+auto-submit[bot]@users.noreply.github.com Reverts "[Impeller] move AHB check to Vulkan, use Vulkan surface on 29. (#164109)" (flutter/flutter#164166) 2025-02-26 zanderso@users.noreply.github.com Run new gallery transition perf benchmark on Galaxy S24 (flutter/flutter#163665) 2025-02-26 jonahwilliams@google.com [Impeller] move AHB check to Vulkan, use Vulkan surface on 29. (flutter/flutter#164109) 2025-02-26 chris@bracken.jp [iOS] Add platform view to integration_test example (flutter/flutter#164144) 2025-02-26 dominik@honnef.co Fix minor issues in documentation of WidgetsApp (flutter/flutter#163942) 2025-02-26 louisehsu@google.com Fix extra numbers showing up when enabling VoiceControl (flutter/flutter#163593) 2025-02-26 cloud@pathconnected.net Set SliverResizingHeader's maxScrollObstructionExtent to minExtent (flutter/flutter#162955) 2025-02-26 engine-flutter-autoroll@skia.org Roll Dart SDK from aea6fff33f06 to b8292dfeaa67 (1 revision) (flutter/flutter#163973) 2025-02-26 flar@google.com [DisplayList] Delete all legacy Skia-oriented method overloads in DlCanvas (flutter/flutter#164054) 2025-02-25 polinach@google.com Clean up leak tracker instrumentation tech debt. (flutter/flutter#164070) 2025-02-25 magder@google.com Revert "Marks Linux_pixel_7pro service_extensions_test to be flaky" (flutter/flutter#163882) 2025-02-25 magder@google.com Check if simctl is installed before trying to list devices or runtimes (flutter/flutter#163895) 2025-02-25 magder@google.com Update dragDevices doc to include default PointerDeviceKind.trackpad (flutter/flutter#163898) 2025-02-25 reidbaker@google.com Update multiple flutters benchmark test to latest gradle and agp and gradle defined dependencies (flutter/flutter#164029) ...
Roll Flutter from 1659206 to 2e570ca (75 revisions) flutter/flutter@1659206...2e570ca 2025-02-27 engine-flutter-autoroll@skia.org Roll Skia from ac08df9c8d82 to e5a33102401c (1 revision) (flutter/flutter#164288) 2025-02-27 engine-flutter-autoroll@skia.org Roll Skia from 6018dff0233a to ac08df9c8d82 (1 revision) (flutter/flutter#164275) 2025-02-27 engine-flutter-autoroll@skia.org Roll Dart SDK from 4a218fbffc80 to fcda71ce147b (1 revision) (flutter/flutter#164276) 2025-02-27 engine-flutter-autoroll@skia.org Roll Skia from 0f2e106c9abc to 6018dff0233a (1 revision) (flutter/flutter#164266) 2025-02-27 robert.ancell@canonical.com Add windowing channel support to Linux embedder (flutter/flutter#163180) 2025-02-27 engine-flutter-autoroll@skia.org Roll Dart SDK from 7fa5901bd8a3 to 4a218fbffc80 (2 revisions) (flutter/flutter#164260) 2025-02-27 engine-flutter-autoroll@skia.org Roll Skia from fdd97386193e to 0f2e106c9abc (4 revisions) (flutter/flutter#164259) 2025-02-27 codefu@google.com Run more builds faster (flutter/flutter#164125) 2025-02-27 737941+loic-sharma@users.noreply.github.com Increase customer test timeout to 60 minutes (flutter/flutter#164239) 2025-02-27 jason-simmons@users.noreply.github.com Reland "Add a buildtools directory and move third_party/ninja to the project root in order to match the expectations of depot_tools" (flutter/flutter#164240) 2025-02-27 liama@google.com Use the Dart isolate ownership API on the root isolate (flutter/flutter#163703) 2025-02-26 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from g-2SJtblPjjaH7Egy... to 1elkOxihZuTEiTXzY... (flutter/flutter#164243) 2025-02-26 robert.ancell@canonical.com Show Linux driver information in flutter doctor (flutter/flutter#163980) 2025-02-26 34871572+gmackall@users.noreply.github.com Implement opacity `FlutterMutator` for hcpp (flutter/flutter#164147) 2025-02-26 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from g-2SJtblPjjaH7Egy... to 1elkOxihZuTEiTXzY... (flutter/flutter#164232) 2025-02-26 engine-flutter-autoroll@skia.org Roll Skia from 47b84f354604 to fdd97386193e (8 revisions) (flutter/flutter#164221) 2025-02-26 jonahwilliams@google.com [Impeller] Reland: move AHB check into Flutter main, don't disable ImageReader on 29. (flutter/flutter#164201) 2025-02-26 engine-flutter-autoroll@skia.org Roll Dart SDK from 80865748abe0 to 7fa5901bd8a3 (3 revisions) (flutter/flutter#164226) 2025-02-26 68449066+zijiehe-google-com@users.noreply.github.com Update fuchsia_test_scripts_version to the latest version (flutter/flutter#164123) 2025-02-26 brackenavaron@gmail.com Guard against zero item extent for carousel (flutter/flutter#163310) 2025-02-26 jonahwilliams@google.com [Impeller] work around for crashy Nexus 5 Driver. (flutter/flutter#164040) 2025-02-26 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Add a buildtools directory and move third_party/ninja to the project root in order to match the expectations of depot_tools (#163890)" (flutter/flutter#164209) 2025-02-26 48155875+Michae1Weiss@users.noreply.github.com Add localization for `Back` and `Cancel` buttons in CupertinoNavigationBar (flutter/flutter#162581) 2025-02-26 30870216+gaaclarke@users.noreply.github.com Added compilation failure if a max ubo size is exceeded (flutter/flutter#164038) 2025-02-26 engine-flutter-autoroll@skia.org Roll Skia from 5336e20498d9 to 47b84f354604 (2 revisions) (flutter/flutter#164188) 2025-02-26 jason-simmons@users.noreply.github.com Add a buildtools directory and move third_party/ninja to the project root in order to match the expectations of depot_tools (flutter/flutter#163890) 2025-02-26 engine-flutter-autoroll@skia.org Roll Skia from 3ce6f25dc13e to 5336e20498d9 (9 revisions) (flutter/flutter#164174) 2025-02-26 engine-flutter-autoroll@skia.org Roll Dart SDK from b8292dfeaa67 to 80865748abe0 (9 revisions) (flutter/flutter#164168) 2025-02-26 dkwingsmt@users.noreply.github.com [Engine] Remove dead code for RoundedSuperellipse (flutter/flutter#164163) 2025-02-26 jonahwilliams@google.com [Impeller] detect mediatek soc and fall back to GLES. (flutter/flutter#164126) 2025-02-26 jonahwilliams@google.com [Impeller] make DLOG into LOG for startup errors. (flutter/flutter#164110) 2025-02-26 15619084+vashworth@users.noreply.github.com Intercept error when iOS 18.4 crashes with JIT mode and give guided error (flutter/flutter#164072) 2025-02-26 98614782+auto-submit[bot]@users.noreply.github.com Reverts "[Impeller] move AHB check to Vulkan, use Vulkan surface on 29. (#164109)" (flutter/flutter#164166) 2025-02-26 zanderso@users.noreply.github.com Run new gallery transition perf benchmark on Galaxy S24 (flutter/flutter#163665) 2025-02-26 jonahwilliams@google.com [Impeller] move AHB check to Vulkan, use Vulkan surface on 29. (flutter/flutter#164109) 2025-02-26 chris@bracken.jp [iOS] Add platform view to integration_test example (flutter/flutter#164144) 2025-02-26 dominik@honnef.co Fix minor issues in documentation of WidgetsApp (flutter/flutter#163942) 2025-02-26 louisehsu@google.com Fix extra numbers showing up when enabling VoiceControl (flutter/flutter#163593) 2025-02-26 cloud@pathconnected.net Set SliverResizingHeader's maxScrollObstructionExtent to minExtent (flutter/flutter#162955) 2025-02-26 engine-flutter-autoroll@skia.org Roll Dart SDK from aea6fff33f06 to b8292dfeaa67 (1 revision) (flutter/flutter#163973) 2025-02-26 flar@google.com [DisplayList] Delete all legacy Skia-oriented method overloads in DlCanvas (flutter/flutter#164054) 2025-02-25 polinach@google.com Clean up leak tracker instrumentation tech debt. (flutter/flutter#164070) 2025-02-25 magder@google.com Revert "Marks Linux_pixel_7pro service_extensions_test to be flaky" (flutter/flutter#163882) 2025-02-25 magder@google.com Check if simctl is installed before trying to list devices or runtimes (flutter/flutter#163895) 2025-02-25 magder@google.com Update dragDevices doc to include default PointerDeviceKind.trackpad (flutter/flutter#163898) 2025-02-25 reidbaker@google.com Update multiple flutters benchmark test to latest gradle and agp and gradle defined dependencies (flutter/flutter#164029) ...
Roll Flutter from 1659206 to 2e570ca (75 revisions) flutter/flutter@1659206...2e570ca 2025-02-27 engine-flutter-autoroll@skia.org Roll Skia from ac08df9c8d82 to e5a33102401c (1 revision) (flutter/flutter#164288) 2025-02-27 engine-flutter-autoroll@skia.org Roll Skia from 6018dff0233a to ac08df9c8d82 (1 revision) (flutter/flutter#164275) 2025-02-27 engine-flutter-autoroll@skia.org Roll Dart SDK from 4a218fbffc80 to fcda71ce147b (1 revision) (flutter/flutter#164276) 2025-02-27 engine-flutter-autoroll@skia.org Roll Skia from 0f2e106c9abc to 6018dff0233a (1 revision) (flutter/flutter#164266) 2025-02-27 robert.ancell@canonical.com Add windowing channel support to Linux embedder (flutter/flutter#163180) 2025-02-27 engine-flutter-autoroll@skia.org Roll Dart SDK from 7fa5901bd8a3 to 4a218fbffc80 (2 revisions) (flutter/flutter#164260) 2025-02-27 engine-flutter-autoroll@skia.org Roll Skia from fdd97386193e to 0f2e106c9abc (4 revisions) (flutter/flutter#164259) 2025-02-27 codefu@google.com Run more builds faster (flutter/flutter#164125) 2025-02-27 737941+loic-sharma@users.noreply.github.com Increase customer test timeout to 60 minutes (flutter/flutter#164239) 2025-02-27 jason-simmons@users.noreply.github.com Reland "Add a buildtools directory and move third_party/ninja to the project root in order to match the expectations of depot_tools" (flutter/flutter#164240) 2025-02-27 liama@google.com Use the Dart isolate ownership API on the root isolate (flutter/flutter#163703) 2025-02-26 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from g-2SJtblPjjaH7Egy... to 1elkOxihZuTEiTXzY... (flutter/flutter#164243) 2025-02-26 robert.ancell@canonical.com Show Linux driver information in flutter doctor (flutter/flutter#163980) 2025-02-26 34871572+gmackall@users.noreply.github.com Implement opacity `FlutterMutator` for hcpp (flutter/flutter#164147) 2025-02-26 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from g-2SJtblPjjaH7Egy... to 1elkOxihZuTEiTXzY... (flutter/flutter#164232) 2025-02-26 engine-flutter-autoroll@skia.org Roll Skia from 47b84f354604 to fdd97386193e (8 revisions) (flutter/flutter#164221) 2025-02-26 jonahwilliams@google.com [Impeller] Reland: move AHB check into Flutter main, don't disable ImageReader on 29. (flutter/flutter#164201) 2025-02-26 engine-flutter-autoroll@skia.org Roll Dart SDK from 80865748abe0 to 7fa5901bd8a3 (3 revisions) (flutter/flutter#164226) 2025-02-26 68449066+zijiehe-google-com@users.noreply.github.com Update fuchsia_test_scripts_version to the latest version (flutter/flutter#164123) 2025-02-26 brackenavaron@gmail.com Guard against zero item extent for carousel (flutter/flutter#163310) 2025-02-26 jonahwilliams@google.com [Impeller] work around for crashy Nexus 5 Driver. (flutter/flutter#164040) 2025-02-26 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Add a buildtools directory and move third_party/ninja to the project root in order to match the expectations of depot_tools (#163890)" (flutter/flutter#164209) 2025-02-26 48155875+Michae1Weiss@users.noreply.github.com Add localization for `Back` and `Cancel` buttons in CupertinoNavigationBar (flutter/flutter#162581) 2025-02-26 30870216+gaaclarke@users.noreply.github.com Added compilation failure if a max ubo size is exceeded (flutter/flutter#164038) 2025-02-26 engine-flutter-autoroll@skia.org Roll Skia from 5336e20498d9 to 47b84f354604 (2 revisions) (flutter/flutter#164188) 2025-02-26 jason-simmons@users.noreply.github.com Add a buildtools directory and move third_party/ninja to the project root in order to match the expectations of depot_tools (flutter/flutter#163890) 2025-02-26 engine-flutter-autoroll@skia.org Roll Skia from 3ce6f25dc13e to 5336e20498d9 (9 revisions) (flutter/flutter#164174) 2025-02-26 engine-flutter-autoroll@skia.org Roll Dart SDK from b8292dfeaa67 to 80865748abe0 (9 revisions) (flutter/flutter#164168) 2025-02-26 dkwingsmt@users.noreply.github.com [Engine] Remove dead code for RoundedSuperellipse (flutter/flutter#164163) 2025-02-26 jonahwilliams@google.com [Impeller] detect mediatek soc and fall back to GLES. (flutter/flutter#164126) 2025-02-26 jonahwilliams@google.com [Impeller] make DLOG into LOG for startup errors. (flutter/flutter#164110) 2025-02-26 15619084+vashworth@users.noreply.github.com Intercept error when iOS 18.4 crashes with JIT mode and give guided error (flutter/flutter#164072) 2025-02-26 98614782+auto-submit[bot]@users.noreply.github.com Reverts "[Impeller] move AHB check to Vulkan, use Vulkan surface on 29. (#164109)" (flutter/flutter#164166) 2025-02-26 zanderso@users.noreply.github.com Run new gallery transition perf benchmark on Galaxy S24 (flutter/flutter#163665) 2025-02-26 jonahwilliams@google.com [Impeller] move AHB check to Vulkan, use Vulkan surface on 29. (flutter/flutter#164109) 2025-02-26 chris@bracken.jp [iOS] Add platform view to integration_test example (flutter/flutter#164144) 2025-02-26 dominik@honnef.co Fix minor issues in documentation of WidgetsApp (flutter/flutter#163942) 2025-02-26 louisehsu@google.com Fix extra numbers showing up when enabling VoiceControl (flutter/flutter#163593) 2025-02-26 cloud@pathconnected.net Set SliverResizingHeader's maxScrollObstructionExtent to minExtent (flutter/flutter#162955) 2025-02-26 engine-flutter-autoroll@skia.org Roll Dart SDK from aea6fff33f06 to b8292dfeaa67 (1 revision) (flutter/flutter#163973) 2025-02-26 flar@google.com [DisplayList] Delete all legacy Skia-oriented method overloads in DlCanvas (flutter/flutter#164054) 2025-02-25 polinach@google.com Clean up leak tracker instrumentation tech debt. (flutter/flutter#164070) 2025-02-25 magder@google.com Revert "Marks Linux_pixel_7pro service_extensions_test to be flaky" (flutter/flutter#163882) 2025-02-25 magder@google.com Check if simctl is installed before trying to list devices or runtimes (flutter/flutter#163895) 2025-02-25 magder@google.com Update dragDevices doc to include default PointerDeviceKind.trackpad (flutter/flutter#163898) 2025-02-25 reidbaker@google.com Update multiple flutters benchmark test to latest gradle and agp and gradle defined dependencies (flutter/flutter#164029) ...
Implement flutter/windowing for the Linux embedder.