Skip to content
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

[web:canvaskit] migrate Paint API to UniqueRef #41230

Merged
merged 2 commits into from Apr 17, 2023

Conversation

yjbanov
Copy link
Contributor

@yjbanov yjbanov commented Apr 15, 2023

Migrate Paint API to UniqueRef. This includes Paint, ImageFilter (and all subtypes), ColorFilter (and all subtypes).

Also fix the following memory leaks:

  • CkPaint is frequently used by layers where a one-off paint object is created, used, and immediately dropped. CkPaint now has a dispose method, and all one-off usages now dispose of the paint after they are done.
  • CkColorFilter.initRawImageFilter was leaking the SkColorFilter created by _initRawColorFilter inside the expression.
  • CkManagedSkImageFilterConvertible.imageFilter now takes a closure, which allows the implementation decide on the lifetime of the SkImageFilter vended to the caller. Because CkColorFilter is a const class it cannot store C++ instances inside its own fields, so it creates a temporary SkImageFilter class to be used by the caller and then it needs to delete it. Now it does.

@flutter-dashboard flutter-dashboard bot added the platform-web Code specifically for the web engine label Apr 15, 2023
Copy link
Contributor

@harryterkelsen harryterkelsen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Copy link
Contributor

@eyebrowsoffire eyebrowsoffire left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@yjbanov yjbanov added the autosubmit Merge PR when tree becomes green via auto submit App label Apr 17, 2023
@auto-submit auto-submit bot merged commit a7df2eb into flutter:main Apr 17, 2023
33 checks passed
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Apr 17, 2023
auto-submit bot pushed a commit to flutter/flutter that referenced this pull request Apr 17, 2023
…124987)

flutter/engine@30e1c43...b2d0738

2023-04-17 30870216+gaaclarke@users.noreply.github.com Adds AndroidSurfaceGLImpeller unit tests (flutter/engine#40979)
2023-04-17 yjbanov@google.com [web:canvaskit] migrate Paint API to UniqueRef (flutter/engine#41230)
2023-04-17 kjlubick@users.noreply.github.com Migrate uses of deprecated SkImage->encodeToData (flutter/engine#41204)
2023-04-17 skia-flutter-autoroll@skia.org Roll Skia from 962800967591 to d9e216e62223 (1 revision) (flutter/engine#41270)
2023-04-17 skia-flutter-autoroll@skia.org Roll Fuchsia Mac SDK from xPacy_rLieLS05d_g... to K1LGtKXyxRlW3Q9O1... (flutter/engine#41271)
2023-04-17 skia-flutter-autoroll@skia.org Roll Skia from 82665485077b to 962800967591 (1 revision) (flutter/engine#41267)
2023-04-17 skia-flutter-autoroll@skia.org Roll Skia from 5c4d2a518736 to 82665485077b (2 revisions) (flutter/engine#41266)

Also rolling transitive DEPS:
  fuchsia/sdk/core/mac-amd64 from xPacy_rLieLS to K1LGtKXyxRlW

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC jacksongardner@google.com,rmistry@google.com,zra@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
yjbanov added a commit that referenced this pull request Apr 18, 2023
This should go after #41230.

Removes the remaining usages of `skia_object_cache.dart` and deletes it.

Also fixes flutter/flutter#86632
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
autosubmit Merge PR when tree becomes green via auto submit App platform-web Code specifically for the web engine
Projects
None yet
3 participants