[ Widget Preview ] Add embedded Widget Inspector support#178116
[ Widget Preview ] Add embedded Widget Inspector support#178116auto-submit[bot] merged 14 commits intomasterfrom
Conversation
This change allows for users to open an instance of the DevTools Widget Inspector within a web view embedded in the widget previewer. This will allow for developers to inspect their previews without requiring IDEs to create a special debug session for the widget previewer application. DWDS is also rolled as part of this change to add DDS and DevTools support for the `web-server` device. Fixes #166423
There was a problem hiding this comment.
Code Review
This pull request introduces embedded Widget Inspector support within the widget previewer, a significant enhancement for developers. The changes are well-structured, adding a split-pane UI for the inspector, a toggle control, and the necessary DTD services to plumb through the DevTools URI. My review focuses on improving robustness by handling a potential null pointer exception, enhancing UI adaptability by using theme-aware colors, and general code cleanup.
packages/flutter_tools/templates/widget_preview_scaffold/lib/src/controls.dart.tmpl
Show resolved
Hide resolved
…/flutter into widget_preview_inspector_support
…_inspector_support
…_inspector_support
|
autosubmit label was removed for flutter/flutter/178116, because Pull request flutter/flutter/178116 is not in a mergeable state. |
…_inspector_support
|
autosubmit label was removed for flutter/flutter/178116, because - The status or check suite Mac plugin_dependencies_test has failed. Please fix the issues identified (or deflake) before re-applying this label. |
|
autosubmit label was removed for flutter/flutter/178116, because - The status or check suite Mac tool_integration_tests_3_5 has failed. Please fix the issues identified (or deflake) before re-applying this label. |
Roll Flutter from 69d8710 to 5b87203 (42 revisions) flutter/flutter@69d8710...5b87203 2025-12-05 [email protected] Roll Packages from d39e481 to b17d3ff (3 revisions) (flutter/flutter#179505) 2025-12-05 [email protected] Move target_cpu into use_rbe block in Fuchsia build (flutter/flutter#179458) 2025-12-05 [email protected] Roll Skia from fe6bf18a3f6b to a31411879251 (3 revisions) (flutter/flutter#179499) 2025-12-05 [email protected] Force WASM single threading in Chrome extensions. (flutter/flutter#179400) 2025-12-05 [email protected] Roll Skia from aea282ea0bcd to fe6bf18a3f6b (7 revisions) (flutter/flutter#179489) 2025-12-05 [email protected] fix: check both pointer count and action before reusing MotionEvent (flutter/flutter#178528) 2025-12-05 [email protected] Roll Fuchsia Linux SDK from VtDPX2k1kosHxjKUE... to vDeTl_KBeLJY8nCAx... (flutter/flutter#179478) 2025-12-05 [email protected] [ Widget Preview ] Add embedded Widget Inspector support (flutter/flutter#178116) 2025-12-05 [email protected] bubble up fragment shader errors (flutter/flutter#179363) 2025-12-05 [email protected] Roll Dart SDK from eda82318e193 to 42fe3327abca (1 revision) (flutter/flutter#179472) 2025-12-05 [email protected] [Android 16] Use AVD With New Android Renderer (flutter/flutter#179306) 2025-12-05 [email protected] Unpin `package:dwds` dependency (flutter/flutter#179462) 2025-12-05 [email protected] [Impeller] include uniform info in impellerc json reflections (flutter/flutter#179317) 2025-12-05 [email protected] Roll Skia from 1591b066f49b to aea282ea0bcd (1 revision) (flutter/flutter#179468) 2025-12-04 [email protected] Roll Skia from e1923478562b to 1591b066f49b (3 revisions) (flutter/flutter#179460) 2025-12-04 [email protected] Cherry-pick flutter 3.38.4 changelog back to master. (flutter/flutter#179463) 2025-12-04 [email protected] [web] Add clone method to LayerPicture and dispose pictures in PictureLayer (flutter/flutter#179162) 2025-12-04 [email protected] Fixes merge conflict from high bitrate texture tests (flutter/flutter#179416) 2025-12-04 [email protected] Fix typos in `VirtualDisplayController.java` (flutter/flutter#179411) 2025-12-04 [email protected] Roll Dart SDK from 2de44cc08970 to eda82318e193 (1 revision) (flutter/flutter#179453) 2025-12-04 [email protected] Roll Skia from 55d94a54f453 to e1923478562b (1 revision) (flutter/flutter#179449) 2025-12-04 [email protected] Roll Packages from 8cb4903 to d39e481 (8 revisions) (flutter/flutter#179451) 2025-12-04 [email protected] Add DropdownMenu.selectOnly (flutter/flutter#179189) 2025-12-04 [email protected] Roll Dart SDK from 7e6bfc6af55c to 2de44cc08970 (6 revisions) (flutter/flutter#179443) 2025-12-04 [email protected] Roll Skia from b8f79d7316c0 to 55d94a54f453 (1 revision) (flutter/flutter#179439) 2025-12-04 [email protected] Revise README for link updates and terminology changes (flutter/flutter#179357) 2025-12-04 [email protected] Roll Skia from ce19122e3982 to b8f79d7316c0 (3 revisions) (flutter/flutter#179436) 2025-12-04 [email protected] Update some BottomNavigationBar comments to reflect theme normalization (flutter/flutter#179404) 2025-12-04 [email protected] Replace use of eglCreateImage with eglCreateImageKHR to reduce EGL requirement (flutter/flutter#179310) 2025-12-04 [email protected] Roll Skia from 81a9a0751f00 to ce19122e3982 (5 revisions) (flutter/flutter#179430) 2025-12-04 [email protected] [impellerc] adds entry prefix flag to avoid shader collisions (flutter/flutter#179160) 2025-12-04 [email protected] [Windows] Allow apps to prefer high power GPUs (flutter/flutter#177653) 2025-12-04 [email protected] [ Infra ] Shard `Windows tool_tests_commands` (flutter/flutter#179409) 2025-12-04 [email protected] [flutter_tools] Fix filename typo (flutter/flutter#179427) 2025-12-04 [email protected] Marks Linux_pixel_7pro draw_arcs_all_stroke_styles_perf__timeline_summary to be unflaky (flutter/flutter#179392) 2025-12-03 [email protected] Marks Mac_ios draw_arcs_all_fill_styles_perf_ios__timeline_summary to be unflaky (flutter/flutter#179391) 2025-12-03 [email protected] Marks Linux_pixel_7pro draw_arcs_all_fill_styles_perf__timeline_summary to be unflaky (flutter/flutter#179390) 2025-12-03 [email protected] Roll Abseil to 564023aa5376 (flutter/flutter#179421) 2025-12-03 [email protected] Made wide gamut tests give more information in their failure (flutter/flutter#179415) 2025-12-03 [email protected] Roll Skia from c20f797ab6f9 to 81a9a0751f00 (5 revisions) (flutter/flutter#179417) 2025-12-03 [email protected] Migrate samples and docs to RadioGroup (flutter/flutter#179158) 2025-12-03 [email protected] Roll Dart SDK to 3.11.0-200.1.beta (flutter/flutter#179399) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-packages ...
) This change allows for users to open an instance of the DevTools Widget Inspector within a web view embedded in the widget previewer. This will allow for developers to inspect their previews without requiring IDEs to create a special debug session for the widget previewer application. DWDS is also rolled as part of this change to add DDS and DevTools support for the `web-server` device. Fixes flutter#166423 **Demo:** https://github.com/user-attachments/assets/3e3a1098-0526-4c7f-8087-38fb84f28335
Roll Flutter from 69d8710 to 5b87203 (42 revisions) flutter/flutter@69d8710...5b87203 2025-12-05 [email protected] Roll Packages from d39e481 to b17d3ff (3 revisions) (flutter/flutter#179505) 2025-12-05 [email protected] Move target_cpu into use_rbe block in Fuchsia build (flutter/flutter#179458) 2025-12-05 [email protected] Roll Skia from fe6bf18a3f6b to a31411879251 (3 revisions) (flutter/flutter#179499) 2025-12-05 [email protected] Force WASM single threading in Chrome extensions. (flutter/flutter#179400) 2025-12-05 [email protected] Roll Skia from aea282ea0bcd to fe6bf18a3f6b (7 revisions) (flutter/flutter#179489) 2025-12-05 [email protected] fix: check both pointer count and action before reusing MotionEvent (flutter/flutter#178528) 2025-12-05 [email protected] Roll Fuchsia Linux SDK from VtDPX2k1kosHxjKUE... to vDeTl_KBeLJY8nCAx... (flutter/flutter#179478) 2025-12-05 [email protected] [ Widget Preview ] Add embedded Widget Inspector support (flutter/flutter#178116) 2025-12-05 [email protected] bubble up fragment shader errors (flutter/flutter#179363) 2025-12-05 [email protected] Roll Dart SDK from eda82318e193 to 42fe3327abca (1 revision) (flutter/flutter#179472) 2025-12-05 [email protected] [Android 16] Use AVD With New Android Renderer (flutter/flutter#179306) 2025-12-05 [email protected] Unpin `package:dwds` dependency (flutter/flutter#179462) 2025-12-05 [email protected] [Impeller] include uniform info in impellerc json reflections (flutter/flutter#179317) 2025-12-05 [email protected] Roll Skia from 1591b066f49b to aea282ea0bcd (1 revision) (flutter/flutter#179468) 2025-12-04 [email protected] Roll Skia from e1923478562b to 1591b066f49b (3 revisions) (flutter/flutter#179460) 2025-12-04 [email protected] Cherry-pick flutter 3.38.4 changelog back to master. (flutter/flutter#179463) 2025-12-04 [email protected] [web] Add clone method to LayerPicture and dispose pictures in PictureLayer (flutter/flutter#179162) 2025-12-04 [email protected] Fixes merge conflict from high bitrate texture tests (flutter/flutter#179416) 2025-12-04 [email protected] Fix typos in `VirtualDisplayController.java` (flutter/flutter#179411) 2025-12-04 [email protected] Roll Dart SDK from 2de44cc08970 to eda82318e193 (1 revision) (flutter/flutter#179453) 2025-12-04 [email protected] Roll Skia from 55d94a54f453 to e1923478562b (1 revision) (flutter/flutter#179449) 2025-12-04 [email protected] Roll Packages from 8cb4903 to d39e481 (8 revisions) (flutter/flutter#179451) 2025-12-04 [email protected] Add DropdownMenu.selectOnly (flutter/flutter#179189) 2025-12-04 [email protected] Roll Dart SDK from 7e6bfc6af55c to 2de44cc08970 (6 revisions) (flutter/flutter#179443) 2025-12-04 [email protected] Roll Skia from b8f79d7316c0 to 55d94a54f453 (1 revision) (flutter/flutter#179439) 2025-12-04 [email protected] Revise README for link updates and terminology changes (flutter/flutter#179357) 2025-12-04 [email protected] Roll Skia from ce19122e3982 to b8f79d7316c0 (3 revisions) (flutter/flutter#179436) 2025-12-04 [email protected] Update some BottomNavigationBar comments to reflect theme normalization (flutter/flutter#179404) 2025-12-04 [email protected] Replace use of eglCreateImage with eglCreateImageKHR to reduce EGL requirement (flutter/flutter#179310) 2025-12-04 [email protected] Roll Skia from 81a9a0751f00 to ce19122e3982 (5 revisions) (flutter/flutter#179430) 2025-12-04 [email protected] [impellerc] adds entry prefix flag to avoid shader collisions (flutter/flutter#179160) 2025-12-04 [email protected] [Windows] Allow apps to prefer high power GPUs (flutter/flutter#177653) 2025-12-04 [email protected] [ Infra ] Shard `Windows tool_tests_commands` (flutter/flutter#179409) 2025-12-04 [email protected] [flutter_tools] Fix filename typo (flutter/flutter#179427) 2025-12-04 [email protected] Marks Linux_pixel_7pro draw_arcs_all_stroke_styles_perf__timeline_summary to be unflaky (flutter/flutter#179392) 2025-12-03 [email protected] Marks Mac_ios draw_arcs_all_fill_styles_perf_ios__timeline_summary to be unflaky (flutter/flutter#179391) 2025-12-03 [email protected] Marks Linux_pixel_7pro draw_arcs_all_fill_styles_perf__timeline_summary to be unflaky (flutter/flutter#179390) 2025-12-03 [email protected] Roll Abseil to 564023aa5376 (flutter/flutter#179421) 2025-12-03 [email protected] Made wide gamut tests give more information in their failure (flutter/flutter#179415) 2025-12-03 [email protected] Roll Skia from c20f797ab6f9 to 81a9a0751f00 (5 revisions) (flutter/flutter#179417) 2025-12-03 [email protected] Migrate samples and docs to RadioGroup (flutter/flutter#179158) 2025-12-03 [email protected] Roll Dart SDK to 3.11.0-200.1.beta (flutter/flutter#179399) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-packages ...
This change allows for users to open an instance of the DevTools Widget Inspector within a web view embedded in the widget previewer. This will allow for developers to inspect their previews without requiring IDEs to create a special debug session for the widget previewer application.
DWDS is also rolled as part of this change to add DDS and DevTools support for the
web-serverdevice.Fixes #166423
Demo:
Screen.Recording.2025-11-06.at.12.50.55.PM.mov