Notify Flutter inspector when navigating widget tree with keyboard (#9810)

* Notify Flutter inspector when navigating widget tree with keyboard

* Add inspector tree left/right keyboard navigation coverage

Updates inspector tree tests to cover left and right arrow navigation, including expand, next-row selection, and parent selection behavior. Also ensures left navigation to a parent notifies Flutter Inspector consistently with other keyboard selection changes.

* Fix inspector widget tree visibility issues during keyboard navigation

Resolves two regressions surfaced when navigating the inspector widget
tree with the arrow-left key.

1. Clicking a still-visible row used to call `expandPath` on the clicked
   node, which re-expanded the clicked node itself and undid any subtree
   collapses the user had just performed via the arrow-left key. Removed
   the call from `onSelectNode`; programmatic selection flows (search,
   on-device pick) continue to call `expandPath` via `syncTreeSelection`,
   so external selection still works correctly.

2. Collapsing all the way to the root via the arrow-left key shrank the
   visible rows down to a single row, which the inspector treated as a
   "still loading" state and replaced with a spinner — hiding the user's
   `[root]` row. Gated that branch on `!firstInspectorTreeLoadCompleted`
   so the spinner only shows during the initial load; afterwards a
   one-row tree renders as the legitimate single-row state.

Adds regression tests covering both behaviors.

* docs: add release notes for inspector keyboard navigation fixes (#9810)

* test: update inspector tree selection test for collapsed nodes
3 files changed
tree: 794005117cacf5d8f95344c817e029ac597a2bc0
  1. .agents/
  2. .gemini/
  3. .github/
  4. .vscode/
  5. _markdown_images/
  6. docs/
  7. packages/
  8. third_party/
  9. tool/
  10. .gitattributes
  11. .gitignore
  12. AGENTS.md
  13. analysis_options.yaml
  14. AUTHORS
  15. BETA_TESTING.md
  16. CLAUDE.md
  17. CODE_OF_CONDUCT.md
  18. CODEOWNERS
  19. CONTRIBUTING.md
  20. DEBUGGING.md
  21. devtools_options.yaml
  22. DOCUMENTATION.md
  23. flutter-candidate.txt
  24. LICENSE
  25. pubspec.lock
  26. pubspec.yaml
  27. README.md
  28. STYLE.md
  29. TESTING.md
  30. TRIAGE.md
README.md

Dart & Flutter DevTools

Build Status OpenSSF Scorecard

What is this?

Dart & Flutter DevTools is a suite of performance tools for Dart and Flutter.

Getting started

For documentation on installing and trying out DevTools, please see our docs.

Contributing and development

Contributions welcome! See our contributing page for an overview of how to build and contribute to the project.

Terms and Privacy

By using Dart DevTools, you agree to the Google Terms of Service. To understand how we use data collected from this service, see the Google Privacy Policy.