38118 Commits

Author SHA1 Message Date
Jackson Gardner
d387d0fe3b [skwasm] Make sure to include the transfer list when using postMessage. (flutter/engine#56431)
This change doesn't have unit tests, because it doesn't actually change the functional behavior of the renderer, it only changes its performance characteristics. If the transfer list is not included, the browser copies the image bitmaps instead of transfers them, which is slow, but does actually work. I am going to be adding some additional benchmarking in the framework to ensure that we detect if we regress something like this again.
2024-11-07 18:34:08 +00:00
skia-flutter-autoroll
c3d5dc1148 Roll Dart SDK from d456f613465a to 6a3684b96121 (5 revisions) (flutter/engine#56430)
https://dart.googlesource.com/sdk.git/+log/d456f613465a..6a3684b96121

2024-11-07 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.7.0-117.0.dev
2024-11-07 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.7.0-116.0.dev
2024-11-07 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.7.0-115.0.dev
2024-11-07 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.7.0-114.0.dev
2024-11-06 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.7.0-113.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 dart-vm-team@google.com,jsimmons@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://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
2024-11-07 18:34:04 +00:00
Jonah Williams
7f0892aaeb [Impeller] disable overdraw prevention for source draws. (flutter/engine#56403)
Overdraw prevention prevents overlapping triangles in the stroke tessellator from being visible with partially opaque draws. For fully opaque draws (or usage of src blend mode) I do not believe this will be an issue - so we can disable this to speed things up a tiny bit.

This code runs after we covert opaque draws to src blend mode, so checking for src blend mode should be sufficient.
2024-11-07 16:59:21 +00:00
Chris Bracken
a6917332f8 macOS: fix leak in CurrentKeyboardLayout (flutter/engine#56420)
Previously, if `layout_data` was not nil, we failed to `CFRelease` `source`. However, if `layout_data` was nil, we dif free source, then immediately set it to a new CoreFoundation object, which we then failed to free.

We now use `fml::CFRef` which just does the right thing.

Finally, we were returning `(__brdige_transfer)CFRetain(layout_data)` but `__bridge_transfer` releases the transferred object at the end of the enclosing expression, so this is equivalent to `(__bridge)layout_data`, which is what we now do.

No tests since this is a refactor with no semantic changes, other than fixing an internal leak.

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-11-07 16:45:19 +00:00
Chris Bracken
59da8913aa macOS: Fix use after free in FlutterViewControllerTests (flutter/engine#56418)
Previously, in `mouseAndGestureEventsAreHandledSeparately:` we were using `CGEventRef cgEventStart` after it had been `CFRelease`d. Twice. This migrates to use fml::CFRef and avoids the issue altogether.

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-11-07 16:41:40 +00:00
skia-flutter-autoroll
f995eb61c5 Roll Skia from 6f16a8c83bf4 to e9a7546ef3d9 (3 revisions) (flutter/engine#56426)
https://skia.googlesource.com/skia.git/+log/6f16a8c83bf4..e9a7546ef3d9

2024-11-07 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia Infra from 0262f84fa0d7 to 353c8b4196e4 (15 revisions)
2024-11-07 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from 644b91f7e096 to 026ba8481087 (4 revisions)
2024-11-07 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn from 500e41cc1e25 to b4b1d02e6e41 (12 revisions)

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

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
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://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
2024-11-07 10:04:28 +00:00
skia-flutter-autoroll
e965d2c4ab Roll Skia from 8444ee0c8a76 to 6f16a8c83bf4 (1 revision) (flutter/engine#56425)
https://skia.googlesource.com/skia.git/+log/8444ee0c8a76..6f16a8c83bf4

2024-11-07 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from e154ea2ed72d to 49a7b74158a6 (10 revisions)

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

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
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://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
2024-11-07 08:38:28 +00:00
skia-flutter-autoroll
5e1bc7efed Roll Fuchsia Linux SDK from z1otZzn3yKuGnu1st... to pG2aukmcwvp71aKuS... (flutter/engine#56424)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/fuchsia-linux-sdk-flutter-engine
Please CC jsimmons@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://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
2024-11-07 06:17:30 +00:00
skia-flutter-autoroll
71ad8e233f Roll Skia from cf33c4e96e81 to 8444ee0c8a76 (4 revisions) (flutter/engine#56422)
https://skia.googlesource.com/skia.git/+log/cf33c4e96e81..8444ee0c8a76

2024-11-06 skia-autoroll@skia-public.iam.gserviceaccount.com Manual roll Dawn from a8eb33756b22 to 500e41cc1e25 (9 revisions)
2024-11-06 robertphillips@google.com [graphite] Streamline setting of PipelineInfo flags for histograms
2024-11-06 jvanverth@google.com [graphite] Remove legacy arc support.
2024-11-06 robertphillips@google.com [graphite] Add UMA histogram for various Pipeline creation times

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

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
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://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
2024-11-07 03:24:46 +00:00
Yegor
c799bc6196 [web:a11y] make header a <header> when non-empty and heading when empty (flutter/engine#55996)
This relands the [reverted](https://github.com/flutter/engine/pull/55993) [original PR](https://github.com/flutter/engine/pull/55747) with one important adjustment: if the header is empty and has a label, it is rendered as a heading (`<h1>`, `<h2>`, etc) instead of a `<header>`. This is to be consistent with mobile, where headers are frequently used as headings, and screen readers do indeed read it as "heading". Changing all headers to the `<header>` tag turned to out to be too disruptive to existing usages of `SemanticsProperties.header`.

Long-term, when https://github.com/flutter/flutter/issues/155928 is implemented, we could migrate the framework to use `SemanticsProperties.headingLevel` to communicate that something is a heading, and encourage our users to move from `header` to `headingLevel` as well. After that migration is done, we could make all headers proper `<header>` tags, and not special-case empty headers.

Fixes https://github.com/flutter/flutter/issues/152268
2024-11-07 00:51:19 +00:00
Jonah Williams
2edc85cc0f [Impeller] make sure binding nullptr texture does not crash. (flutter/engine#56381)
Fixes https://github.com/flutter/flutter/issues/158074

binding a nullptr texture should fail but not crash.
2024-11-06 22:14:15 +00:00
Jonah Williams
d0bb78ccaf [Impeller] keep imgui hostbuffer alive. (flutter/engine#56409)
Fixes https://github.com/flutter/flutter/issues/158275

We are now counting on the content context to keep the host buffer alive. the imgui overlay does not use a content context, so it has to manage the lifetime of the host buffer correctly, keeping it alive for as many frames as needed and destroying it in the correct order (before context destruction).
2024-11-06 21:53:55 +00:00
Jackson Gardner
fef97957af [skwasm] Fix empty backdrop drawing. (flutter/engine#56385)
If our operation affects the backdrop, the layer slice builder needs to take that into account when deciding whether to actually build a slice. In addition, we should take the content in the backdrop into account when calculating the cull rect for our picture recorders.

For this to actually work, we need a fix for https://g-issues.skia.org/issues/362552959 which I am currently working on.
2024-11-06 21:19:07 +00:00
Jonah Williams
e673b6fb32 [Impeller] generate stroke vertices into point arena. (flutter/engine#56390)
Heap allocation is extremely expensive on Android.

We can speed up the stroke tessellation by allocation a large arena and using that to write vertices. If the vertices would overflow, we switch to a dynamically allocated vector.
2024-11-06 21:17:07 +00:00
Jason Simmons
440ee21267 [Impeller] Do not capture the temporary ImpellerMapping struct pointer when storing release callbacks in libImpeller (flutter/engine#56411)
Fixes https://github.com/flutter/flutter/issues/158285
2024-11-06 21:13:46 +00:00
zijiehe@
cca1af22b2 Roll ICU from 9408c6fd4a39 to 4239b1559d11 (2 revisions) (flutter/engine#56407)
Redo #56401 with a manual license change to remove the chromeos/icudtl.dat.hash. The file was removed by https://crrev.com/83a7bd47a345137ac6081c71c2a7158f5403cd30.

Original change description:

9408c6fd4a..4239b1559d

2024-10-02 [dayeung@chromium.org](mailto:dayeung@chromium.org) Updated TZ to 2024b
2024-09-05 [andreaorru@chromium.org](mailto:andreaorru@chromium.org) Remove icudtl.dat.hash

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/icu-sdk-flutter-engine
Please CC [fuchsia-ui-discuss@google.com](mailto:fuchsia-ui-discuss@google.com),[jsimmons@google.com](mailto:jsimmons@google.com) on the revert to ensure that a human
is aware of the problem.

To file a bug in ICU: https://github.com/unicode-org/icu
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://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

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-11-06 20:57:10 +00:00
Chris Bracken
5a3f245710 iOS,macOS: Add Obj-C cflags to all Obj-C targets (flutter/engine#56386)
Ensure that all Objective-C code in the codebase is being built with the standard set of Flutter Objective-C compiler flags with ARC enabled.

Also bumps the cflags config up to the top of the first block within each target in which Objective-C sources appear, so that the location is consistent.

Migrates The following targets to ARC, which had been missed in previous passes since they didn't declare the standard Flutter Obj-C[++] cflags:
* `//flutter/fml:fml_unittests`
* `//flutter/impeller/golden_tests:metal_screenshot`
* `//flutter/impeller/playground:playground`
* `//flutter/impeller/backend/metal:metal`
* `//flutter/impeller/backend/metal:metal_unittests`
* `//shell/gpu:gpu_surface_metal_unittests`
* `//flutter/shell/platform/embedder:embedder_unittests`

This patch includes no semantic changes.

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

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-11-06 20:17:08 +00:00
skia-flutter-autoroll
5662b172be Roll Skia from afaed8923682 to cf33c4e96e81 (5 revisions) (flutter/engine#56408)
https://skia.googlesource.com/skia.git/+log/afaed8923682..cf33c4e96e81

2024-11-06 jacksongardner@google.com Take into account the backdrop filter when calculating the bounds of a SaveLayer operation.
2024-11-06 fmalita@google.com [viewer] More path interpolation samples
2024-11-06 vigneshv@google.com SkCrabbyAvif: Remove explicit brand sniffing in IsAvif
2024-11-06 vigneshv@google.com SkCodec: Remove the sysprop guard for SkCrabbyAvifCodec
2024-11-06 robertphillips@google.com [graphite] Rename all things ForceSynchronous to ForPrecompile

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

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
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://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
2024-11-06 19:59:20 +00:00
skia-flutter-autoroll
daf757d436 Manual roll Dart SDK from 1c1d0420539f to d456f613465a (6 revisions) (flutter/engine#56406)
Manual roll requested by asiva@google.com

https://dart.googlesource.com/sdk.git/+log/1c1d0420539f..d456f613465a

2024-11-06 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.7.0-112.0.dev
2024-11-06 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.7.0-111.0.dev
2024-11-06 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.7.0-110.0.dev
2024-11-06 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.7.0-109.0.dev
2024-11-06 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.7.0-108.0.dev
2024-11-06 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.7.0-107.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 asiva@google.com,dart-vm-team@google.com,jsimmons@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://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
2024-11-06 19:55:27 +00:00
Chinmay Garde
bcb04a6ea8 [Impeller] Avoid errors due to triangle fans usage on Molten. (flutter/engine#56321)
Added the test case for https://github.com/flutter/flutter/issues/157885 to the corpus but Jonah fixed it in https://github.com/flutter/engine/pull/56310.

Fixes https://github.com/flutter/flutter/issues/158024 which is more of an inconvenience on macOS.
2024-11-06 18:36:48 +00:00
skia-flutter-autoroll
239bdb510a Roll Skia from b4df8dda7ffc to afaed8923682 (14 revisions) (flutter/engine#56404)
https://skia.googlesource.com/skia.git/+log/b4df8dda7ffc..afaed8923682

2024-11-06 jamesgk@google.com Ignore more tests in Protected configs
2024-11-06 robertphillips@google.com [graphite] Add UMA enum histogram for Pipeline creation races
2024-11-06 fmalita@google.com [viewer] Add some hardcoded vertices for mesh gradient sample
2024-11-06 fmalita@google.com [viewer] Add AE mesh gradient sample
2024-11-06 borenet@google.com [infra] Add 'patch' asset
2024-11-06 jlavrova@google.com Adding few missing #ifdefs
2024-11-06 jamesgk@google.com [graphite] Support providing clip on replay
2024-11-06 skia-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 1495532f997f to 76855a9baecc (1 revision)
2024-11-06 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia Infra from 064137920a75 to 0262f84fa0d7 (6 revisions)
2024-11-06 danieldilan@google.com Proof of concept for general path interpolation
2024-11-06 kjlubick@google.com Temporarily remove golo machines from CQ
2024-11-06 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 97c315f09386 to e154ea2ed72d (6 revisions)
2024-11-06 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from 84a24a1ea6a6 to 644b91f7e096 (7 revisions)
2024-11-06 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn from 08b478b3f3a3 to a8eb33756b22 (6 revisions)

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

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
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://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
2024-11-06 18:29:19 +00:00
Jonah Williams
b2c59ea5fe [Impeller] split downsample shader into GLES variant. (flutter/engine#56376)
This fixes a crash reported on a moto g4 where the on device shader compiler fails to process the ifdef.
2024-11-06 15:56:17 +00:00
skia-flutter-autoroll
54495f86a0 Roll Skia from 82175b411c80 to b4df8dda7ffc (1 revision) (flutter/engine#56398)
https://skia.googlesource.com/skia.git/+log/82175b411c80..b4df8dda7ffc

2024-11-06 lukasza@chromium.org [rust png] Fix when `setAlphaAndRequiredFrame` is called.

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

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
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://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
2024-11-06 14:04:34 +00:00
Matan Lurey
b60b012f51 Add and document and explicit toARGB32. (flutter/engine#56329)
Closes https://github.com/flutter/flutter/issues/157128.
2024-11-06 01:07:20 +00:00
skia-flutter-autoroll
c3a0b59fe2 Roll Fuchsia Test Scripts from _fkA2GjLQH4bc_n2p... to 6FgM4KTbxxmyYoiOs... (flutter/engine#56392)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/fuchsia-test-scripts-flutter-engine
Please CC chrome-fuchsia-engprod@google.com,jsimmons@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://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
2024-11-06 00:16:57 +00:00
skia-flutter-autoroll
baa41e0e14 Manual roll Dart SDK from 3e840340c412 to 1c1d0420539f (2 revisions) (flutter/engine#56391)
Manual roll requested by asiva@google.com

https://dart.googlesource.com/sdk.git/+log/3e840340c412..1c1d0420539f

2024-11-05 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.7.0-106.0.dev
2024-11-05 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.7.0-105.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 asiva@google.com,dart-vm-team@google.com,jsimmons@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://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
2024-11-05 23:48:59 +00:00
Robert Ancell
9df9cb0c8d Document fields in FlEngine (flutter/engine#56266)
Update documentation.
2024-11-06 12:34:19 +13:00
Matan Lurey
73c5a2be81 Add missing TOC. (flutter/engine#56389) 2024-11-05 22:55:55 +00:00
Jason Simmons
0be0d08156 Increase timeouts for Linux Fuchsia and Linux Web Framework Tests builders (flutter/engine#56387)
These builders have recently been timing out due to LUCI scheduling delays.
2024-11-05 22:17:20 +00:00
Chris Bracken
1cfe6487a6 iOS: Use standard Obj-C cflags for ios_test_flutter (flutter/engine#56384)
Previously, we had not enabled standard iOS cflags for `ios_test_flutter`, though ARC had been manually added to the cflags. This meant that the following flags were not enabled:

* -Werror=overriding-method-mismatch
* -Werror=undeclared-selector

Both of these existed in the code within this target:

* undeclared-selector: `insertionPointColor` was a non-public selector on UITextInput prior to iOS 17.
* overriding-method-mismatch: `FakeFlutterUndoManagerDelegate`, which implements the `FlutterUndoManagerDelegate` protocol, declared `initWithUndoManager:activeInputView:` with a different type for `activeInputView`. This was a hack to jam in a test mock object that didn't match the required type for the property. Conveniently we have a class (`FlutterTextInputView`) that implements the required type and protocol (`UIView<UITextInput>`).

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

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-11-05 21:51:18 +00:00
Robert Ancell
2a567cbef7 Remove unnecessary method for getting engine switches (command line). (flutter/engine#56265)
This method simply wrapped a common method, which is simpler to use
directly. The test only tested this common method, which already has
tests in common/.
2024-11-06 10:17:13 +13:00
Robert Ancell
a98f1eb4e2 Remove FlScrollingViewDelegate (flutter/engine#56270)
We can just contact the engine directly and test that by overriding the
engine API.
2024-11-06 10:16:49 +13:00
Chris Bracken
8582bd3b7a fml: delete scoped_nsobject.h,mm (flutter/engine#56382)
fml::scoped_nsobject and fml::scoped_nsprotocol classes are no longer
necessary now that the entire codebase has been migrated to ARC.

This also eliminates the fml_arc_unittests target which tests that code.
All references to that target in documentation, run_tests.py have been
removed. This target was used in various `et` build/query unit tests and
has been replaced with the fml_unittests target in those cases.

Issue: https://github.com/flutter/flutter/issues/137801
2024-11-05 12:59:05 -08:00
skia-flutter-autoroll
438bcc7173 Roll Skia from b3be9cb59fe8 to 82175b411c80 (2 revisions) (flutter/engine#56383)
https://skia.googlesource.com/skia.git/+log/b3be9cb59fe8..82175b411c80

2024-11-05 egdaniel@google.com [Graphite] Fix layout transition for DstCopy in Vulkan.
2024-11-05 jvanverth@google.com Update GPU StrikeCache to track Glyph memory as well.

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

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
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://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
2024-11-05 20:58:17 +00:00
Jason Simmons
eae69f89fe [Impeller] Delete any remaining GL objects during destruction of the ReactorGLES (flutter/engine#56361)
At shutdown time the ReactorGLES may still be holding handles of GL objects.  These objects should be cleaned up when the reactor is deleted.

This leak can be seen by running DlGoldenTest.ShimmerTest, which takes a series of screenshots.  Each screenshot creates an AiksContext. Without this change, the textures in the AiksContext's ReactorGLES will be leaked after the AiksContext is destroyed.
2024-11-05 20:56:13 +00:00
Mouad Debbar
d6ce17ba66 [web] Switch all fonts to WOFF2 (non-split) (flutter/engine#56035)
Google Fonts serves TTF fonts gzipped. By switching to WOFF2 fonts, we get Brotli compression by design.

Google Font's WOFF2 fonts are 30%+ smaller than their gzipped TTF counterparts (including Roboto).
2024-11-05 20:50:50 +00:00
Jonah Williams
2604f3a406 [Impeller] exploit content context options' perfect hash function. (flutter/engine#56360)
The content context options hash function is pefect - meaning a distinct hash guarantees a distinct value and vice versa. We can replace the hashing entirely with an equality check of the hash function.

Additionally, we can remove the hashmap. As most of these maps have fewer than a dozen entries (often just 2 or 3) and the linear search is much faster.
2024-11-05 18:32:00 +00:00
skia-flutter-autoroll
51f461ff84 Roll Skia from 7989f782dbf4 to b3be9cb59fe8 (6 revisions) (flutter/engine#56380)
https://skia.googlesource.com/skia.git/+log/7989f782dbf4..b3be9cb59fe8

2024-11-05 skia-autoroll@skia-public.iam.gserviceaccount.com Manual roll Dawn from 46043c56bc31 to 08b478b3f3a3 (9 revisions)
2024-11-05 jvanverth@google.com Add size tracking to GPU StrikeCache.
2024-11-05 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from f4673df701a0 to 97c315f09386 (8 revisions)
2024-11-05 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn from 2c4f822f9e78 to 46043c56bc31 (12 revisions)
2024-11-05 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from 7ce8b268f584 to 84a24a1ea6a6 (6 revisions)
2024-11-04 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from ae5ea7b95745 to f4673df701a0 (7 revisions)

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

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
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://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
2024-11-05 18:21:30 +00:00
skia-flutter-autoroll
3b2f59e67d Roll Dart SDK from b39c729740eb to 3e840340c412 (1 revision) (flutter/engine#56377)
https://dart.googlesource.com/sdk.git/+log/b39c729740eb..3e840340c412

2024-11-05 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.7.0-104.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 dart-vm-team@google.com,jsimmons@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://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
2024-11-05 18:16:19 +00:00
Jonah Williams
bf0dacbeb3 [Impeller] match Skia's old VMA default block size. (flutter/engine#56368)
The unspecified default is 256 MiB which is ... big. 4Mb value is the default that Skia used to use, and results in less memory usage at least in local testing.

benchmarks will determine if this has a positive or negative impact on performance.

https://github.com/flutter/flutter/issues/157497
2024-11-05 18:04:58 +00:00
Chris Bracken
97d61766d2 iOS: Refactor ShellTestPlatformViewMetal (flutter/engine#56370)
Migrates DarwinContextMetal to a plain C struct, eliminating the need for constructor, getters, etc. since it's only used in this translation unit. The fields themselves cannot be inlined as fields on ShellTestPlatformViewMetal because the header in which that class is defined is included in plain C++ (non-Obj-C++) translation units and therefore cannot contain Obj-C types.

This simplifies the code and simultaneously fixes complicated ARC behaviour in which the const "DarwinContextMetal::context()" getter caused retainCount to be incremented on the underlying context_ pointer, but not decremented even if never unassigned. In particular the line
```objc
FML_CHECK([metal_context->context() mainContext]));
```
appeared to cause refcount to be incremented but never decremented.

Regardless of the ARC issue, this significantly simplifies the code.

This also eliminates the last remaining use of fml::scoped_nsobject in Flutter's codebase. That class will be removed in a followup PR.

No test changes since there is no change to semantics.

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

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-11-05 18:01:37 +00:00
skia-flutter-autoroll
6355eebfaa Roll Fuchsia Linux SDK from amgHXcqtplha8LuI_... to z1otZzn3yKuGnu1st... (flutter/engine#56374)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/fuchsia-linux-sdk-flutter-engine
Please CC jsimmons@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://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
2024-11-05 18:01:34 +00:00
skia-flutter-autoroll
ba6a2dd5c1 Roll Skia from b2bb3af36da3 to 7989f782dbf4 (1 revision) (flutter/engine#56358)
https://skia.googlesource.com/skia.git/+log/b2bb3af36da3..7989f782dbf4

2024-11-04 skia-autoroll@skia-public.iam.gserviceaccount.com Manual roll ANGLE from 2f8ad9c1042c to 7ce8b268f584 (5 revisions)

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

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
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://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
2024-11-05 16:46:05 +00:00
skia-flutter-autoroll
24927c939e Roll Dart SDK from 695831e9a70b to b39c729740eb (1 revision) (flutter/engine#56372)
https://dart.googlesource.com/sdk.git/+log/695831e9a70b..b39c729740eb

2024-11-05 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.7.0-103.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 dart-vm-team@google.com,jsimmons@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://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
2024-11-05 10:09:38 +00:00
skia-flutter-autoroll
592b1eb8d3 Roll Dart SDK from 0addd35215d0 to 695831e9a70b (3 revisions) (flutter/engine#56371)
https://dart.googlesource.com/sdk.git/+log/0addd35215d0..695831e9a70b

2024-11-05 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.7.0-102.0.dev
2024-11-05 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.7.0-101.0.dev
2024-11-04 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.7.0-100.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 chinmaygarde@google.com,dart-vm-team@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://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
2024-11-05 06:01:05 +00:00
Jonah Williams
fa745a13cf remove mock vulkan memory test. (flutter/engine#56367)
This test is flakey despite using the mocked vulkan backend. This likely
indicates that VMA is still performing some real initialization work in
a way that is not consistently passing or failing.

It may not be safe to use VMA with mock vulkan.
2024-11-04 19:39:02 -08:00
David Iglesias
b772962ba4 [web] injectPlatformView into correct flutterView (flutter/engine#56334)
Makes SceneView inject platform views in the current `flutterView`, instead of the `implicitView`.

This enables platform views in multi-view mode for the Skwasm renderer.

Fixes https://github.com/flutter/flutter/issues/157958

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-11-05 01:25:51 +00:00
Devon Carew
2ae5b45cf0 [deps] removed unused deps (dart-lang browser_launcher, clock, bazel_worker, cli_util, csslib, html, json_rpc_2 (flutter/engine#56359)
Remove unused repo deps; these are now brought in as part of dart-lang/tools. This is for dart-lang repos `browser_launcher`, `clock`, `bazel_worker`, `cli_util`, `csslib`, `html`, and `json_rpc_2`.

No pubspecs (pubspec.yaml, web_sdk/pubspec.yaml) needed to be updated as part of this change.

Issues:
- https://github.com/dart-lang/sdk/issues/56591

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-11-05 01:14:12 +00:00
Matan Lurey
8bd297a4be Add and document et cleanup. (flutter/engine#56327)
Closes https://github.com/flutter/flutter/issues/157945.

```sh
% et cleanup --dry-run
Checking /Users/matanl/Developer/engine/src/out...
The following directories were accessed later than 2024-10-02:
  android_debug
  android_debug_arm64
  android_debug_unopt
  android_debug_unopt_arm64_ide
  host_debug_unopt_arm64_ide
  ios_debug
  ios_debug_sim_unopt_arm64
  ios_debug_unopt
  ios_debug_unopt_arm64
  license_script_output
  wasm_release
  web_tests
Run without --dry-run to reclaim 2.79gb.
```

```sh
flutter % et cleanup          
Checking /Users/matanl/Developer/engine/src/out...
Deleted 12 output directories and reclaimed 2.79gb.
```
2024-11-04 15:19:51 -08:00
Jonah Williams
574bb3b0f4 [Impeller] check if memory type is host coherent, avoid flush. (flutter/engine#56350)
Fixes https://github.com/flutter/flutter/issues/137454

Host coherent memory does not need to be flushed. Almost all mobile devices will have host coherent memory for us to write to, but we still need check because of swiftshader and/or desktop at some point.
2024-11-04 21:13:37 +00:00