-
Notifications
You must be signed in to change notification settings - Fork 28.7k
Allow requesting a reduced widget tree with getRootWidgetTree
service extension
#157309
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
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
getRootWidgetTree
service extensiongetRootWidgetTree
service extension
kenzieschmoll
approved these changes
Oct 22, 2024
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
Oct 24, 2024
…ree` service extension (flutter/flutter#157309)
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
Oct 24, 2024
…ree` service extension (flutter/flutter#157309)
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
Oct 24, 2024
…ree` service extension (flutter/flutter#157309)
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
Oct 24, 2024
…ree` service extension (flutter/flutter#157309)
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
Oct 25, 2024
…ree` service extension (flutter/flutter#157309)
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
Oct 25, 2024
…ree` service extension (flutter/flutter#157309)
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
Oct 25, 2024
…ree` service extension (flutter/flutter#157309)
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
Oct 25, 2024
…ree` service extension (flutter/flutter#157309)
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
Oct 25, 2024
…ree` service extension (flutter/flutter#157309)
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
Oct 26, 2024
…ree` service extension (flutter/flutter#157309)
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
Oct 26, 2024
…ree` service extension (flutter/flutter#157309)
M97Chahboun
pushed a commit
to M97Chahboun/flutter
that referenced
this pull request
Oct 30, 2024
github-merge-queue bot
pushed a commit
that referenced
this pull request
Nov 26, 2024
…esting a large widget tree (#159454) Fixes flutter/devtools#8553 Context: A Flutter web customer with a large widget tree was getting a stack overflow error when they toggled on "show implementation widgets" in the Flutter DevTools Inspector. This is because building the JSON tree recursively was hitting Chrome's stack limit. This PR creates the JSON tree **iteratively** if the `getRootWidgetTree` service extension is called with `fullDetails = false` (which is what DevTools uses to fetch the widget tree). For all other instances of creating a widget JSON map (for example, when fetching widget properties) the recursive implementation is used. This allows properties provided by subclasses implementing `toJsonMap` to be included in the response. Note: Because with this change `toJsonMap` is only called when `fullDetails = true` and `toJsonMapIterative` is only called when `fullDetails = false`, this PR partially reverts the changes in #157309.
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
Feb 12, 2025
…ree` service extension (flutter/flutter#157309)
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
Feb 13, 2025
…ree` service extension (flutter/flutter#157309)
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
Feb 13, 2025
…ree` service extension (flutter/flutter#157309)
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
Mar 6, 2025
…ree` service extension (flutter/flutter#157309)
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
Mar 7, 2025
…ree` service extension (flutter/flutter#157309)
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Work towards flutter/devtools#1423
Reduces the widget tree payload sent back from
getRootWidgetTree
when thefullDetails
parameter isfalse
.getRootWidgetTree
payload size comparison (for the Flutter gallery):fullDetails=true
: 1,367,692 bytesfullDetails=false
: 446,696 bytesThe
fullDetails=false
payload is approximately a third of the size of the original payload.