-
Notifications
You must be signed in to change notification settings - Fork 27.7k
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
Allow requesting a reduced widget tree with getRootWidgetTree
service extension
#157309
Merged
Conversation
This file contains 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
github-actions
bot
added
the
framework
flutter/packages/flutter repository. See also f: labels.
label
Oct 21, 2024
elliette
changed the title
Allow requesting an abbreviated widget tree with
Allow requesting a reduced widget tree with Oct 22, 2024
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.
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.