21790 Commits

Author SHA1 Message Date
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
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
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
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
godofredoc
aa08e3ed32 Migrate mac_unopt to engine_v2. (flutter/engine#40860)
Migrate mac_unopt to engine_v2.
2023-04-05 15:53:14 +00:00
skia-flutter-autoroll
ec2a481035 Roll Skia from c162dae2b297 to dfc65350a1fd (16 revisions) (flutter/engine#40940)
Roll Skia from c162dae2b297 to dfc65350a1fd (16 revisions)
2023-04-05 15:18:09 +00:00
Brandon DeRosier
6142206a83 [Impeller] Snap glyph positions to screen space pixels and map UVs correctly (flutter/engine#40912) 2023-04-04 23:00:34 -07:00
Chris Bracken
eef10ab310 [macOS] Handle termination in FlutterAppDelegate (flutter/engine#40929)
Moves application termination handling to FlutterAppDelegate.
Previously, we required macOS applications using Flutter to ensure their
main application class was FlutterApplication. Instead, we now do all
handling in FlutterAppDelegate and FlutterEngine.

There are two termination workflows to consider:
* Termination requested from framework side: In this case, then engine
receives a `System.exitApplication` method call, and starts the app
termination workflow via `[FlutterEngine
requestApplicationTermination:exitType:result]`.
* Termination requested from macOS (e.g. Cmd-Q): In this case,
`FlutterAppDelegate`'s `applicationShouldTerminate:` handler is invoked
by AppKit, and the delegate starts the app termination workflow via
`[FlutterEngine requestApplicationTermination:exitType:result]`.

In either case, at this point, if the request is not cancellable, the
app immediately exits. If it is cancellable, the embedder sends a
`System.requestAppExit` method channel invocation to the framework,
which responds with either `exit` or `cancel`. In the case of `exit` we
immediately exit, otherwise we do nothing and the app continues running.

This is a minor refactoring of the original approach we took in:
https://github.com/flutter/engine/pull/39836

This does not remove the FlutterApplication class, since the framework
migration from NSApplication to FlutterApplication still depends on it.
A followup patch with replace the migration with a reverse migration
will land, then FlutterApplication will be removed.

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

No new tests since this refactors existing behaviour while retaining the
same app semantics as before.
2023-04-04 22:19:18 -07:00
skia-flutter-autoroll
89d0e52d90 Manual roll Dart SDK from f97b9d9b2f64 to beff36793081 (1 revision) (flutter/engine#40934)
Manual roll requested by asiva@google.com

https://dart.googlesource.com/sdk.git/+log/f97b9d9b2f64..beff36793081

2023-04-04 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.0.0-409.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,asiva@google.com,dart-vm-team@google.com,jonahwilliams@google.com,rmistry@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-04 22:13:47 -07:00
Casey Hillers
8a7ac5f702 Revert "[web] remove obsolete object caches; simplify native object management" (flutter/engine#40937)
Reverts flutter/engine#40894

This is breaking Google Testing. See b/277004090
2023-04-04 21:49:35 -07:00
godofredoc
7b7de6bb5d Reland "Sync Mac Host Engine with its engine v2 counterpart."" (flutter/engine#40906)
Reland "Sync Mac Host Engine with its engine v2 counterpart.""
2023-04-05 03:46:56 +00:00
Jackson Gardner
28005d57f6 The dart:wasm library is no longer used directly by user code. (flutter/engine#40920)
The `dart:wasm` library is no longer used directly by user code.
2023-04-04 22:33:25 +00:00
Chinmay Garde
f79930b74c [Impeller] Update API name to indicate descriptor set registrations. (flutter/engine#40922)
[Impeller] Update API name to indicate descriptor set registrations.
2023-04-04 22:32:49 +00:00
Chinmay Garde
e30a98acbc [Impeller] Clarify validation log behavior. (flutter/engine#40921)
[Impeller] Clarify validation log behavior.
2023-04-04 22:24:58 +00:00
skia-flutter-autoroll
5a9470ab3c Roll Skia from 827013b3dbef to c162dae2b297 (6 revisions) (flutter/engine#40919)
Roll Skia from 827013b3dbef to c162dae2b297 (6 revisions)
2023-04-04 22:01:37 +00:00
Yegor
ebfd37a6f7 [web] remove obsolete object caches; simplify native object management (flutter/engine#40894)
(this is attempt 3; 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 3

More about [attempt 2
here](https://github.com/flutter/engine/pull/40862).

In this attempt 3 I'm replacing the `factory` with a top-level function.
2023-04-04 12:43:31 -07:00
Jonah Williams
b0d4533ab9 Revert "[Impeller] reduce advanced blend subpass count for single input with foreground color" (flutter/engine#40914)
Reverts flutter/engine#40886

This renders incorrectly when applied directly to contents instead of as
a filter, essentially due to some transform mis handling.

The code only works when the snapshot has an identity transform, which
is only true as a subpass
2023-04-04 12:12:49 -07:00
skia-flutter-autoroll
5ded9d978a Roll Skia from 548bef69d1ae to 827013b3dbef (8 revisions) (flutter/engine#40913)
Roll Skia from 548bef69d1ae to 827013b3dbef (8 revisions)
2023-04-04 17:46:31 +00:00
joshualitt
bee9f91790 [web] Migrate EventListener's to JS types. (flutter/engine#40566) 2023-04-04 09:53:13 -07:00
skia-flutter-autoroll
cfb2ed4e06 Roll Skia from ad459a5b8df4 to 548bef69d1ae (1 revision) (flutter/engine#40905)
Roll Skia from ad459a5b8df4 to 548bef69d1ae (1 revision)
2023-04-04 15:21:02 +00:00
Jason Simmons
ae08695e6d [Impeller] Emulate Skia's SK_LEGACY_IGNORE_DRAW_VERTICES_BLEND_WITH_NO_SHADER in drawVertices (flutter/engine#40893)
[Impeller] Emulate Skia's SK_LEGACY_IGNORE_DRAW_VERTICES_BLEND_WITH_NO_SHADER in drawVertices
2023-04-04 14:32:18 +00:00