Send GeoJSON data from worker to main if loaded from a URL #6811
+30
−4
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.
Summary
Part of #4364
This PR carves out an exception from the optimization added in #6668. When GeoJSON data is loaded from a URL, we now send it back to the main thread so that it can be:
map.getStyle()GeoJSONSource#_getShouldReloadTileOptionsfor fasterGeoJSONSource#updateDataoperations (ref Use only bounds for geojson diff tile reload #6800)queryRenderedFeaturesto return original feature properties (ref fix: Don't serialize GeoJSON vector tiles from the worker to support undefined properties #6803)When GeoJSON is provided inline or via diff updates, the main thread already has the data, so we skip sending it back (preserving the #6668 optimization).
This will make
GeoJSONSource#updateDatamuch faster when the GeoJSON data was loaded from a URL.Benchmarks
Launch Checklist
CHANGELOG.mdunder the## mainsection.