-
Notifications
You must be signed in to change notification settings - Fork 29.8k
[web] Cleanup opportunities post renderer unification #174659
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
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code Review
This pull request introduces several cleanups and refactorings that improve the codebase. Moving CanvasKitVariant to a more central location, abstracting resourceCacheMaxBytes to the base Renderer class, and simplifying the ICU data injection logic are all positive changes. The optimizations in OcclusionMap are also a welcome improvement.
I have one main point of feedback regarding the implementation of resourceCacheMaxBytes for the Skwasm renderer, which appears to be incomplete. Please see the specific comment for details.
engine/src/flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/renderer.dart
Outdated
Show resolved
Hide resolved
engine/src/flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/renderer.dart
Outdated
Show resolved
Hide resolved
harryterkelsen
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think the Skwasm renderer should support setResourceCacheMaxBytes.
engine/src/flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/renderer.dart
Outdated
Show resolved
Hide resolved
engine/src/flutter/lib/web_ui/lib/src/engine/occlusion_map.dart
Outdated
Show resolved
Hide resolved
|
@harryterkelsen I addressed all comments. I won't rebase this PR until #174588 relands. |
eyebrowsoffire
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
|
Waiting for #175392 to land. |
harryterkelsen
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Manual roll requested by bmparr@google.com flutter/flutter@9ff2767...4a04204 2025-09-23 mohellebiabdessalem@gmail.com Simplify asserts in `FlutterMutatorTest` (flutter/flutter#175730) 2025-09-23 mohellebiabdessalem@gmail.com Improve code quality in `AccessibilityBridgeTest.java` (flutter/flutter#175718) 2025-09-23 mohellebiabdessalem@gmail.com Fix linter issues in `VsyncWaiterTest` Capital L for long values (flutter/flutter#175780) 2025-09-23 mohellebiabdessalem@gmail.com Fix wrong order of asserts arguments (flutter/flutter#175726) 2025-09-23 mohellebiabdessalem@gmail.com Simplify test asserts and use lambdas (flutter/flutter#175727) 2025-09-23 mohellebiabdessalem@gmail.com Remove unused imports, fix assertion order, add non null annotations to `ImageReaderPlatformViewRenderTargetTest.java` (flutter/flutter#175723) 2025-09-23 mohellebiabdessalem@gmail.com Remove unnecessary `String.valueOf` in `KeyboardManager.java` (flutter/flutter#175502) 2025-09-23 mohellebiabdessalem@gmail.com Fix outdated link of `intl` package to point to the correct new location (flutter/flutter#174498) 2025-09-23 engine-flutter-autoroll@skia.org Roll Packages from 45c9a84 to 3413b65 (4 revisions) (flutter/flutter#175854) 2025-09-23 mohellebiabdessalem@gmail.com Fix typo in tests `README` (flutter/flutter#175788) 2025-09-23 byoungchan.lee@gmx.com Update maximum known Gradle version to 9.1.0 (flutter/flutter#175543) 2025-09-23 engine-flutter-autoroll@skia.org Roll Dart SDK from 9e943fe076c8 to 14b4ced3022a (5 revisions) (flutter/flutter#175843) 2025-09-23 bruno.leroux@gmail.com Document how to hide counter in TextField.maxLength (flutter/flutter#175797) 2025-09-23 bruno.leroux@gmail.com [a11y-app] Fix Autocomplete semantics label (flutter/flutter#175409) 2025-09-23 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from CcCe3HpQtBYhTZscb... to naeytagBIBEpKgZNZ... (flutter/flutter#175824) 2025-09-23 engine-flutter-autoroll@skia.org Roll Skia from a38a531dec1d to cabeab8cb22c (16 revisions) (flutter/flutter#175822) 2025-09-23 jiahaog@users.noreply.github.com Load fonts in the order addFont is called (flutter/flutter#174253) 2025-09-22 137456488+flutter-pub-roller-bot@users.noreply.github.com Roll pub packages (flutter/flutter#175545) 2025-09-22 mohellebiabdessalem@gmail.com Remove `name` field form `SupportedPlatform` enum (flutter/flutter#175611) 2025-09-22 mdebbar@google.com [web] Cleanup opportunities post renderer unification (flutter/flutter#174659) 2025-09-22 mohellebiabdessalem@gmail.com Update `KeyChannelResponder.java` to use method reference (flutter/flutter#175510) 2025-09-22 dominik@roszkowski.dev Update docs/engine/contributing/Compiling-the-engine.md with macOS build steps (flutter/flutter#175716) 2025-09-22 bkonyi@google.com [ Widget Preview ] Allow for custom `Preview` annotations, add support for runtime transformations (flutter/flutter#175535) 2025-09-22 mohellebiabdessalem@gmail.com Remove unnecessary public modifier in `KeyboardManager.java` (flutter/flutter#175500) 2025-09-22 muhatashim@google.com bump robolectric and java to 21 (flutter/flutter#175550) 2025-09-22 dixita0607@users.noreply.github.com Fix: Update docs tool tag to sample in ImageProvider (flutter/flutter#175256) 2025-09-22 stuartmorgan@google.com Roll Packages from 3d5c419 to 45c9a84 (flutter/flutter#175794) 2025-09-21 dkwingsmt@users.noreply.github.com Correctly implement PlatformViews' cursors on Web (flutter/flutter#174300) 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 Please CC bmparr@google.com,stuartmorgan@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Packages: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
- `injectClientICUIfNeeded` as a method on `SkParagraphBuilder` for convenience. - Move `CanvasKitVariant` outside of `canvaskit/` because it's needed outside of that folder. - Make `resourceCacheMaxBytes` a method on all renderers, not only CanvasKit. - Some optimizations in `OcclusionMap`. - Remove unused CanvasKit test utils.
- `injectClientICUIfNeeded` as a method on `SkParagraphBuilder` for convenience. - Move `CanvasKitVariant` outside of `canvaskit/` because it's needed outside of that folder. - Make `resourceCacheMaxBytes` a method on all renderers, not only CanvasKit. - Some optimizations in `OcclusionMap`. - Remove unused CanvasKit test utils.
- `injectClientICUIfNeeded` as a method on `SkParagraphBuilder` for convenience. - Move `CanvasKitVariant` outside of `canvaskit/` because it's needed outside of that folder. - Make `resourceCacheMaxBytes` a method on all renderers, not only CanvasKit. - Some optimizations in `OcclusionMap`. - Remove unused CanvasKit test utils.
injectClientICUIfNeededas a method onSkParagraphBuilderfor convenience.CanvasKitVariantoutside ofcanvaskit/because it's needed outside of that folder.resourceCacheMaxBytesa method on all renderers, not only CanvasKit.OcclusionMap.