28249 Commits

Author SHA1 Message Date
Dan Field
ce45be217d [Impeller] Fix issues in path polyline generation. (flutter/engine#40975)
[Impeller] Fix issues in path polyline generation.
2023-04-10 17:44:02 +00:00
Jackson Gardner
439141c38d Skwasm scene (flutter/engine#40330)
Skwasm scene
2023-04-10 17:38:57 +00:00
Dan Field
e92e4daa76 Move Skia conversion utilities to own TU (flutter/engine#40997)
Move Skia conversion utilities to own TU
2023-04-10 16:46:04 +00:00
luckysmg
418c28e09a Add trace event when updating ViewportMetrics (flutter/engine#41024)
Add trace event when updating ViewportMetrics
2023-04-10 16:17:08 +00:00
skia-flutter-autoroll
6194bf9b8b Roll Fuchsia Linux SDK from 5psyBv8pQX3rf4LaU... to P15HfBhD19GOwL0lz... (flutter/engine#41028)
Roll Fuchsia Linux SDK from 5psyBv8pQX3rf4LaU... to P15HfBhD19GOwL0lz...
2023-04-10 14:24:33 +00:00
skia-flutter-autoroll
7ccbeabaaf Roll Fuchsia Mac SDK from eB_ZxgRvkRunpqAhH... to fYBjzwm0fO7kzBMly... (flutter/engine#41027)
Roll Fuchsia Mac SDK from eB_ZxgRvkRunpqAhH... to fYBjzwm0fO7kzBMly...
2023-04-10 10:21:17 +00:00
skia-flutter-autoroll
dda1ee658b Roll Skia from 20d8ddab2b13 to 7635aa1d11c2 (4 revisions) (flutter/engine#41026)
Roll Skia from 20d8ddab2b13 to 7635aa1d11c2 (4 revisions)
2023-04-10 10:09:37 +00:00
dependabot[bot]
5a91db530b Bump github/codeql-action from 2.2.9 to 2.2.11 (flutter/engine#41025)
Bump github/codeql-action from 2.2.9 to 2.2.11
2023-04-10 09:39:17 +00:00
skia-flutter-autoroll
a3fc726c43 Roll Fuchsia Linux SDK from ftDPfq7X7veYPvGO5... to 5psyBv8pQX3rf4LaU... (flutter/engine#41021)
Roll Fuchsia Linux SDK from ftDPfq7X7veYPvGO5... to 5psyBv8pQX3rf4LaU...
2023-04-10 00:13:22 +00:00
skia-flutter-autoroll
1d44ffbe85 Roll Fuchsia Mac SDK from yejEEc_DJVNCrnP6l... to eB_ZxgRvkRunpqAhH... (flutter/engine#41020)
Roll Fuchsia Mac SDK from yejEEc_DJVNCrnP6l... to eB_ZxgRvkRunpqAhH...
2023-04-09 21:39:30 +00:00
skia-flutter-autoroll
88207690e7 Roll Skia from 88a52ba41e94 to 20d8ddab2b13 (1 revision) (flutter/engine#41016)
Roll Skia from 88a52ba41e94 to 20d8ddab2b13 (1 revision)
2023-04-09 11:40:22 +00:00
skia-flutter-autoroll
8ccddf3635 Roll Fuchsia Linux SDK from 4qFZIXvizluvZnqDX... to ftDPfq7X7veYPvGO5... (flutter/engine#41015)
Roll Fuchsia Linux SDK from 4qFZIXvizluvZnqDX... to ftDPfq7X7veYPvGO5...
2023-04-09 08:38:27 +00:00
skia-flutter-autoroll
e2a4e5ff78 Roll Fuchsia Mac SDK from c4UyBKXaFfkdnPtW5... to yejEEc_DJVNCrnP6l... (flutter/engine#41013)
Roll Fuchsia Mac SDK from c4UyBKXaFfkdnPtW5... to yejEEc_DJVNCrnP6l...
2023-04-09 04:22:28 +00:00
skia-flutter-autoroll
cbc6a9f6ef Roll Fuchsia Linux SDK from 0ItFGt3CsrDlgrM3S... to 4qFZIXvizluvZnqDX... (flutter/engine#41010)
Roll Fuchsia Linux SDK from 0ItFGt3CsrDlgrM3S... to 4qFZIXvizluvZnqDX...
2023-04-08 18:03:23 +00:00
Chris Bracken
5fe41d4d1d [a11y] Improve EmbedderA11yTest, fixture comments (flutter/engine#40995)
Add breadcrumbs to make it easier to jump between the Dart fixture side
and the embedder side of the EmbedderA11yTest unit test.
2023-04-08 10:25:07 -07:00
skia-flutter-autoroll
776eadc900 Roll Fuchsia Mac SDK from f16HBH4MJdaKy7Hlf... to c4UyBKXaFfkdnPtW5... (flutter/engine#41009)
Roll Fuchsia Mac SDK from f16HBH4MJdaKy7Hlf... to c4UyBKXaFfkdnPtW5...
2023-04-08 15:38:22 +00:00
skia-flutter-autoroll
d0b92d1bff Roll Skia from f4803c264c54 to 88a52ba41e94 (1 revision) (flutter/engine#41006)
Roll Skia from f4803c264c54 to 88a52ba41e94 (1 revision)
2023-04-08 08:08:17 +00:00
skia-flutter-autoroll
56cf7e4caa Roll Fuchsia Linux SDK from P6Fk6LO_vzmUU08Ab... to 0ItFGt3CsrDlgrM3S... (flutter/engine#41004)
Roll Fuchsia Linux SDK from P6Fk6LO_vzmUU08Ab... to 0ItFGt3CsrDlgrM3S...
2023-04-08 04:20:09 +00:00
skia-flutter-autoroll
11814c78d6 Roll Skia from 557d71a445ac to f4803c264c54 (43 revisions) (flutter/engine#41002)
Roll Skia from 557d71a445ac to f4803c264c54 (43 revisions)
2023-04-08 00:57:22 +00:00
yaakovschectman
af61f5dda0 Fix flaky Windows exit unit test, remove error messages (flutter/engine#40945)
Shutdown is async, so we can not guarantee the order of execution and,
by extension, ignorance of execution used as an auxiliary part of a unit
test. Also, mock the windows view/binding handler for the engine in
order to avoid error messages.

Addresses https://github.com/flutter/flutter/issues/124162

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide] and the [C++,
Objective-C, Java style guides].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I added new tests to check the change I am making or feature I am
adding, or Hixie said the PR is test-exempt. See [testing the engine]
for instructions on writing and running engine tests.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [ ] I signed the [CLA].
- [x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#overview
[Tree Hygiene]: https://github.com/flutter/flutter/wiki/Tree-hygiene
[Flutter Style Guide]:
https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo
[C++, Objective-C, Java style guides]:
https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
[testing the engine]:
https://github.com/flutter/flutter/wiki/Testing-the-engine
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#handling-breaking-changes
[Discord]: https://github.com/flutter/flutter/wiki/Chat
2023-04-07 17:11:15 -04:00
Chris Bracken
3ea75b15f1 [a11y] Use DartConverter for embedder a11y tests (flutter/engine#40993)
No semantic change. This just simplifies converting Dart arguments to
C++ types, making it more consistent with the rest of the codebase.

## Pre-launch Checklist

- [X] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [X] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [X] I read and followed the [Flutter Style Guide] and the [C++,
Objective-C, Java style guides].
- [ ] I listed at least one issue that this PR fixes in the description
above.
- [ ] I added new tests to check the change I am making or feature I am
adding, or Hixie said the PR is test-exempt. See [testing the engine]
for instructions on writing and running engine tests.
- [X] I updated/added relevant documentation (doc comments with `///`).
- [X] I signed the [CLA].
- [X] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#overview
[Tree Hygiene]: https://github.com/flutter/flutter/wiki/Tree-hygiene
[Flutter Style Guide]:
https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo
[C++, Objective-C, Java style guides]:
https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
[testing the engine]:
https://github.com/flutter/flutter/wiki/Testing-the-engine
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#handling-breaking-changes
[Discord]: https://github.com/flutter/flutter/wiki/Chat
2023-04-07 13:11:42 -07:00
Corey Tabaka
dac17395ad [Fuchsia] Implement thread priorities. (flutter/engine#40970)
[Fuchsia] Implement thread priorities.
2023-04-07 19:25:20 +00:00
Mouad Debbar
5d30f3f043 [web] Make 'Noto Color Emoji' opt-in (flutter/engine#40990)
[web] Make 'Noto Color Emoji' opt-in
2023-04-07 16:54:22 +00:00
Kevin Lubick
a08288c38b Remove (unused) SkImageEncoder.h includes (flutter/engine#40989)
I'm refactoring Skia's image codecs and noticed that although Flutter
includes this header, it doesn't seem to use any of the symbols from it:
`SkEncodeImage` and `SkEncodePixmap`.

This PR removes those includes and also adds some missing includes which
will aid future Skia cleanup CLs.

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide] and the [C++,
Objective-C, Java style guides].
- [ ] I listed at least one issue that this PR fixes in the description
above.
- [x] I added new tests to check the change I am making or feature I am
adding, or Hixie said the PR is test-exempt. See [testing the engine]
for instructions on writing and running engine tests.
- [ ] I updated/added relevant documentation (doc comments with `///`).
- [x] I signed the [CLA].
- [ ] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#overview
[Tree Hygiene]: https://github.com/flutter/flutter/wiki/Tree-hygiene
[Flutter Style Guide]:
https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo
[C++, Objective-C, Java style guides]:
https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
[testing the engine]:
https://github.com/flutter/flutter/wiki/Testing-the-engine
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#handling-breaking-changes
[Discord]: https://github.com/flutter/flutter/wiki/Chat
2023-04-07 08:27:24 -07:00
skia-flutter-autoroll
f72ad3fb1c Roll Fuchsia Linux SDK from nS_R3f779FLIEjE8I... to P6Fk6LO_vzmUU08Ab... (flutter/engine#40987)
Roll Fuchsia Linux SDK from nS_R3f779FLIEjE8I... to P6Fk6LO_vzmUU08Ab...
2023-04-07 14:29:34 +00:00
Jenn Magder
225d7017f2 Fix UIWindowSceneGeometryPreferencesIOS leak (flutter/engine#40957) 2023-04-06 18:31:33 -07:00
skia-flutter-autoroll
9db87083c1 Roll ICU from 7698bff409f2 to d8daa943f64c (2 revisions) (flutter/engine#40986)
Roll ICU from 7698bff409f2 to d8daa943f64c (2 revisions)
2023-04-07 01:05:53 +00:00
skia-flutter-autoroll
a21c24bbc6 Roll Fuchsia Linux SDK from rQKj0gZPJNATiErM8... to nS_R3f779FLIEjE8I... (flutter/engine#40985)
Roll Fuchsia Linux SDK from rQKj0gZPJNATiErM8... to nS_R3f779FLIEjE8I...
2023-04-07 00:47:19 +00:00
Chris Bracken
3bf49d72e4 Support disabling backtrace support (flutter/engine#40980)
This adds a gn flag (--backtrace, --no-backtrace) that defaults to
enabling backtraces, which drives a gn variable `enable_backtrace` which
is defaulted true for debug builds.

Backtrace collection is supported on Windows, and on POSIX-like
operating systems via execinfo.h. execinfo support exists in Android,
macOS/iOS, and in glibc and uclibc on Linux. musl libc notably does not
include execinfo support, so this provides an escape hatch to build with
backtrace_stub.cc for situations in which compile time support doesn't
exist.

Proposed as an alternative to
https://github.com/flutter/engine/pull/40958 by @selfisekai.

Issue: https://github.com/flutter/flutter/issues/124285
2023-04-06 17:21:34 -07:00
Brandon DeRosier
8b8fc13b93 [Impeller] Sample the gaussian function once per texture sample (flutter/engine#40949) 2023-04-06 16:13:11 -07:00
Jackson Gardner
12f968e369 Don't build wasm targets for the web sdk archive in host mode. (flutter/engine#40967)
Don't build wasm targets for the web sdk archive in host mode.
2023-04-06 23:04:59 +00:00
skia-flutter-autoroll
4a213ed37f Manual roll Dart SDK from 36ace2c92e0a to 0c85a16bac6d (6 revisions) (flutter/engine#40974)
Manual roll requested by zra@google.com

https://dart.googlesource.com/sdk.git/+log/36ace2c92e0a..0c85a16bac6d

2023-04-06 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.0.0-417.0.dev
2023-04-06 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.0.0-416.0.dev
2023-04-06 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.0.0-415.0.dev
2023-04-05 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.0.0-414.0.dev
2023-04-05 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.0.0-413.0.dev
2023-04-05 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.0.0-412.0.dev

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/dart-sdk-flutter-engine
Please CC
aam@google.com,dart-vm-team@google.com,jonahwilliams@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 Engine:
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
2023-04-06 14:34:55 -07:00
gaaclarke
49e8a3e7be [Impeller] Removed requirement for multisample buffers from egl setup. (flutter/engine#40944)
I reviewed the code and I don't think this requirement is necessary.
Offscreen MSAA is already guarded by a flag and looking at the opengles
code it doesn't seem to be using multisample buffers.

When removing it the emulator no longer crashes and behaves identically
to on device (which is rendering incorrect colors and crashing when
pressing a the counter button).

fixes https://github.com/flutter/flutter/issues/105323

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide] and the [C++,
Objective-C, Java style guides].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [ ] I added new tests to check the change I am making or feature I am
adding, or Hixie said the PR is test-exempt. See [testing the engine]
for instructions on writing and running engine tests.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I signed the [CLA].
- [x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#overview
[Tree Hygiene]: https://github.com/flutter/flutter/wiki/Tree-hygiene
[Flutter Style Guide]:
https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo
[C++, Objective-C, Java style guides]:
https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
[testing the engine]:
https://github.com/flutter/flutter/wiki/Testing-the-engine
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#handling-breaking-changes
[Discord]: https://github.com/flutter/flutter/wiki/Chat
2023-04-06 14:12:02 -07:00
Dan Field
967f12d809 [Impeller] Make multi-frame image decodes work even if the GPU switch is disabled (flutter/engine#40963)
Fixes https://github.com/flutter/flutter/issues/124269

Manually verified this is safe on an iPhone 11.

We're not creating/encoding command buffers in this path so it's ok.
AFAICT the test I added would fail if we started doing that because it
doesn't provide any real command buffer interfaces. Most of the code
here is related to tests.
2023-04-06 11:40:27 -07:00
Maurice Parrish
20cd1a9520 Fix autofill for android (flutter/engine#40771)
Fix autofill for android
2023-04-06 14:54:16 +00:00
skia-flutter-autoroll
04b27c2f63 Roll Fuchsia Linux SDK from XMKD7xno4MYCkCYzS... to rQKj0gZPJNATiErM8... (flutter/engine#40965)
Roll Fuchsia Linux SDK from XMKD7xno4MYCkCYzS... to rQKj0gZPJNATiErM8...
2023-04-06 10:57:21 +00:00
skia-flutter-autoroll
a61c741cb5 Manual roll Skia from dfc65350a1fd to 557d71a445ac (9 revisions) (flutter/engine#40961)
Manual roll Skia from dfc65350a1fd to 557d71a445ac (9 revisions)
2023-04-06 04:42:22 +00:00
htoor3
072045aa3d Revert "[web] Move text editing nodes outside of shadowDOM - reopened" (flutter/engine#40960)
Reverts flutter/engine#40904
2023-04-05 19:47:08 -07:00
htoor3
438394f01e [web] Move text editing nodes outside of shadowDOM - reopened (flutter/engine#40904)
[web] Move text editing nodes outside of shadowDOM - reopened
2023-04-05 23:42:21 +00:00
gaaclarke
1e5a5f1935 [Impeller] adjusted the rotated text test to have an opaque background and account for screen scale (flutter/engine#40954)
[Impeller] adjusted the rotated text test to have an opaque background and account for screen scale
2023-04-05 23:36:03 +00:00
Jackson Gardner
911b85dc77 Copy canvaskit files directly into flutter_web_sdk (flutter/engine#40951)
Copy canvaskit files directly into `flutter_web_sdk`
2023-04-05 22:55:41 +00:00
Camille Simon
c109f78ae5 [Android] Make temporary fix for Samsung spell checker giving blank results for all words (flutter/engine#40924)
Temporarily filters out invalid spell check results (""/ " ") received
from the Samsung spell checker, since this is the result that may be
returned by all words (correctly spelled and misspelled) from
observation.

Temporary fix for
[#120608](https://github.com/flutter/flutter/issues/120608).

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide] and the [C++,
Objective-C, Java style guides].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I added new tests to check the change I am making or feature I am
adding, or Hixie said the PR is test-exempt. See [testing the engine]
for instructions on writing and running engine tests.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I signed the [CLA].
- [ ] All existing and new tests are passing.

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#overview
[Tree Hygiene]: https://github.com/flutter/flutter/wiki/Tree-hygiene
[Flutter Style Guide]:
https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo
[C++, Objective-C, Java style guides]:
https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
[testing the engine]:
https://github.com/flutter/flutter/wiki/Testing-the-engine
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#handling-breaking-changes
[Discord]: https://github.com/flutter/flutter/wiki/Chat
2023-04-05 15:16:37 -07:00
Emircan Uysaler
647ad5e49e [fuchsia] Rename params and add comments to FlatlandConnection (flutter/engine#40941)
This CL renames params and adds comments to FlatlandConnection to
clarify behavior.

Bug: fxb/123838
2023-04-05 18:03:22 -04:00
Dan Field
f54a6ed879 [Impeller] Fix coverage values when a stroked path is rotated (flutter/engine#40917)
[Impeller] Fix coverage values when a stroked path is rotated
2023-04-05 21:18:07 +00:00
skia-flutter-autoroll
6c22841508 Roll Fuchsia Linux SDK from wylduTqeHd3pLUo0V... to XMKD7xno4MYCkCYzS... (flutter/engine#40947)
Roll Fuchsia Linux SDK from wylduTqeHd3pLUo0V... to XMKD7xno4MYCkCYzS...
2023-04-05 21:14:23 +00:00
Zachary Anderson
1c8046db69 Revert "Roll Skia from dfc65350a1fd to 1d1783aa55c3 (3 revisions)" (flutter/engine#40950)
Reverts flutter/engine#40943

Reverting for gold diffs on
https://github.com/flutter/flutter/pull/124261
2023-04-05 13:56:01 -07:00
fzyzcjy
047e7d61f5 Fix super tiny typo (flutter/engine#40932)
Fix super tiny typo
2023-04-05 18:31:48 +00:00
Yegor
7231a4d15c [web] fix SkFinalizationRegistry for dart2js (attempt 4) (flutter/engine#40938)
(this is attempt 4; details below)

Remove obsolete object caches and introduce a simpler way to manage
native objects:

* Remove the unused `SynchronousSkiaObjectCache`.
* Introduce new library `native_memory.dart` that's smaller and simpler
than `skia_object_cache.dart`.
* Introduce two types of native object references:
  * `UniqueRef` a reference with a unique Dart object owner.
* `CountedRef` a ref-counted reference with multiple Dart object owners.
* All native references use GC (via `FinalizationRegistry`) as a
back-up.
* The new library removes everything related to object resurrection that
was needed only in browsers that didn't support `FinalizationRegistry`.
All browsers support it now.
* Remove the ad hoc `SkParagraph` cache that predates the introduction
of `Paragraph.dispose`.
* Rewrite `CkParagraph` in terms of `UniqueRef`.
* Rewrite `CkImage` in terms of `CountedRef`; delete `SkiaObjectBox`.

This PR does not migrate all objects from the old
`skia_object_cache.dart` to `native_memory.dart`. That would be too big
of a change. The migration can be done in multiple smaller PRs.

This also removes a few unnecessary relayouts observed in
https://github.com/flutter/flutter/issues/120921, but not all of them
(more details in
https://github.com/flutter/flutter/issues/120921#issuecomment-1481958762)

## About attempt 4

More info about the revert of attempt 3 in
https://github.com/flutter/engine/pull/40937.

In this attempt I check that the browser supports `FinalizationRegistry`
before registering the object. This will allow the code to run in older
browsers, but there will be no protection from memory leaks when the app
fails to dispose of the respective objects.

## Benchmarks

Now that this landed in flutter/flutter I have some benchmark numbers
from the devicelab. The `text_out_of_picture_bounds` benchmark dropped
by 3-4x (lower is better):

<img width="358" alt="Screenshot 2023-04-04 at 6 13 06 PM"
src="https://user-images.githubusercontent.com/211513/229956170-a5399ed3-c779-4af0-babb-ea40440f96ff.png">

The repro provided in https://github.com/flutter/flutter/issues/123204
dropped from 110ms/frame to 10ms/frame.
2023-04-05 11:08:00 -07:00
skia-flutter-autoroll
5c268ac1ca Roll Skia from dfc65350a1fd to 1d1783aa55c3 (3 revisions) (flutter/engine#40943)
Roll Skia from dfc65350a1fd to 1d1783aa55c3 (3 revisions)
2023-04-05 17:55:53 +00:00
Chris Bracken
35cb38e820 [macOS] Remove FlutterApplication class (flutter/engine#40939)
The need for the FlutterApplication NSApplication subclass was
eliminated in eef10ab310178c3e646b255d7f3073984d2359f7. The relevant app
termination logic was moved into FlutterAppDelegate in that patch.
Removing FlutterApplication needs to be done in three stages:
1. Migrate logic to FlutterAppDelegate (done in above patch)
2. Update Flutter tool template. Update migrator to migrate all apps
using FlutterApplication back to NSApplication. This is done in
https://github.com/flutter/flutter/pull/124173.
3. Eliminate FlutterApplication.h header since all references to it have
now been removed.

No tests since, as described above, this is the removal of unused (as of
step 2 above) code.

Issue: https://github.com/flutter/flutter/issues/30735

## Pre-launch Checklist

- [X] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [X] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [X] I read and followed the [Flutter Style Guide] and the [C++,
Objective-C, Java style guides].
- [X] I listed at least one issue that this PR fixes in the description
above.
- [ ] I added new tests to check the change I am making or feature I am
adding, or Hixie said the PR is test-exempt. See [testing the engine]
for instructions on writing and running engine tests.
- [X] I updated/added relevant documentation (doc comments with `///`).
- [X] I signed the [CLA].
- [X] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#overview
[Tree Hygiene]: https://github.com/flutter/flutter/wiki/Tree-hygiene
[Flutter Style Guide]:
https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo
[C++, Objective-C, Java style guides]:
https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
[testing the engine]:
https://github.com/flutter/flutter/wiki/Testing-the-engine
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#handling-breaking-changes
[Discord]: https://github.com/flutter/flutter/wiki/Chat
2023-04-05 09:07:00 -07:00