32804 Commits

Author SHA1 Message Date
skia-flutter-autoroll
f87be71799 Roll Dart SDK from 12c5efc94edf to 46e8b18047eb (1 revision) (flutter/engine#48168)
https://dart.googlesource.com/sdk.git/+log/12c5efc94edf..46e8b18047eb

2023-11-17 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.3.0-145.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,jonahwilliams@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
2023-11-17 04:38:20 +00:00
skia-flutter-autoroll
3dc6bcbcc5 Roll Skia from c7d2a4933dfa to c8ee25282849 (2 revisions) (flutter/engine#48164)
https://skia.googlesource.com/skia.git/+log/c7d2a4933dfa..c8ee25282849

2023-11-17 lovisolo@google.com [bazel] Housekeeper-PerCommit-GoLinters: Add errcheck step.
2023-11-16 lovisolo@google.com [bazel] New task: Housekeeper-PerCommit-GoLinters.

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,jonahwilliams@google.com,nicolettep@google.com,rmistry@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
2023-11-17 02:28:06 +00:00
Dan Field
89ff1d0d8b Only run systrace test on API 29+, avoid building scenario app for 28 (flutter/engine#48163)
The emulator tests I added yesterday are failing because the systrace python test script uses features introduced in API 29, which causes the `perfetto` invocation to fail.

It's not essential that we run this test on lower API levels, so instead I'm making the script bail out in this case.

Other than that, the shard seems to be consistently passing, so I'm removing bringup.
2023-11-17 02:20:51 +00:00
Matan Lurey
7571e558d4 Make lib/ui/text/... compatible with .clang-tidy. (flutter/engine#48156) 2023-11-16 18:00:09 -08:00
Matan Lurey
c58953c1e4 Make flow/... compatible with .clang_tidy. (flutter/engine#48148) 2023-11-16 17:23:08 -08:00
Brandon DeRosier
f9b113e43c [Impeller] Add support for external GL textures to TiledTextureContents. (flutter/engine#47586) 2023-11-16 16:56:49 -08:00
skia-flutter-autoroll
b429c3008b Roll Dart SDK from 906f23c1cb20 to 12c5efc94edf (1 revision) (flutter/engine#48157)
https://dart.googlesource.com/sdk.git/+log/906f23c1cb20..12c5efc94edf

2023-11-16 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.3.0-144.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,jonahwilliams@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
2023-11-17 00:40:13 +00:00
skia-flutter-autoroll
90d8214c24 Roll Skia from 762d95ed65e0 to c7d2a4933dfa (1 revision) (flutter/engine#48159)
https://skia.googlesource.com/skia.git/+log/762d95ed65e0..c7d2a4933dfa

2023-11-16 jlavrova@google.com Emoji font resolution fix

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,jonahwilliams@google.com,nicolettep@google.com,rmistry@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
2023-11-17 00:36:15 +00:00
Harry Terkelsen
c2749e93a3 [canvaskit] Size the PictureRecorder when calling Scene.toImage (flutter/engine#48142)
When calling `flatten()` to produce a `Picture` of a `Scene`, size the
`PictureRecorder` to be the same size as the final image.

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

## 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 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
[test-exempt]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#tests
[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-11-16 15:18:53 -08:00
Jonah Williams
6da29df7ee [Impeller] Clang tidy even more (flutter/engine#48102)
Also removes alot of includes of fml macros, which I know is always safe to remove.
2023-11-16 23:15:00 +00:00
gaaclarke
6f471e9027 [Impeller] Implements gaussian blur that scales down before applying the blur (flutter/engine#47576)
A partial implementation of the new gaussian blur effect.  This should perform enough of the code to start getting some performance numbers.

Known outstanding problems:
  1) The edges of the blur are clipped.   I have notes on how I plan on expanding render space in the PR.
  1) Animating the sigma causes some "jumping around artifacts" resulting from the downsampling (maybe the discrete nature of texture pixel size?)
  1) Coverage hints are ignored.  I think depth tests will make that not much of an issue.
  1) We aren't ping ponging textures yet
  1) The snapshot's transform is ignored.

issue: https://github.com/flutter/flutter/issues/131580

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-11-16 22:34:22 +00:00
skia-flutter-autoroll
e7a2ce6fed Roll Skia from 4c099aaa259f to 762d95ed65e0 (2 revisions) (flutter/engine#48140)
https://skia.googlesource.com/skia.git/+log/4c099aaa259f..762d95ed65e0

2023-11-16 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 8fa1b1b67aa7 to a0360cfd7fd5 (6 revisions)
2023-11-16 bungeman@google.com Add GIT_SYNC_DEPS_SHALLOW_CLONE to git-sync-deps

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,jonahwilliams@google.com,nicolettep@google.com,rmistry@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
2023-11-16 21:25:37 +00:00
Matan Lurey
56fc8315cc Re-land "Make flow/embedded_views.h compatible with .clang_tidy." (flutter/engine#48137)
Reverts flutter/engine#48130.

Now that the `runIf` clauses are omitted, CI should be a reliable source
of truth.
2023-11-16 13:05:13 -08:00
skia-flutter-autoroll
a189220384 Roll Skia from 297049bbfc0d to 4c099aaa259f (5 revisions) (flutter/engine#48138)
https://skia.googlesource.com/skia.git/+log/297049bbfc0d..4c099aaa259f

2023-11-16 lovisolo@google.com Reland "Reland: [bazel] Housekeeper-PerCommit-CheckGeneratedFiles: Add "go generate", Gazelle and Buildifier steps."
2023-11-16 SCHMIDT Expose default SK_GAMMA_CONTRAST values in SkTypes
2023-11-16 skia-autoroll@skia-public.iam.gserviceaccount.com Roll SK Tool from 14160bee80f4 to bc5a26ce9f2b
2023-11-16 skia-autoroll@skia-public.iam.gserviceaccount.com Roll skottie-base from ba1e7f5c1e82 to f23b91844a05
2023-11-16 kjlubick@google.com Fix up fuzzers implicit dependency on default SkFontMgr

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,jonahwilliams@google.com,nicolettep@google.com,rmistry@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
2023-11-16 20:27:17 +00:00
skia-flutter-autoroll
18fe89baba Roll Dart SDK from b512191e9612 to 906f23c1cb20 (1 revision) (flutter/engine#48136)
https://dart.googlesource.com/sdk.git/+log/b512191e9612..906f23c1cb20

2023-11-16 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.3.0-143.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,jonahwilliams@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
2023-11-16 20:11:06 +00:00
Matan Lurey
990ae10e5b Disable the runIfNot clauses in .ci.yaml, as they are unsafe. (flutter/engine#48132)
See https://github.com/flutter/flutter/issues/138559.

I'll assign this as an infra bug after merging.

/cc @zanderso @dnfield for FYI.
2023-11-16 11:05:02 -08:00
Victoria Ashworth
1cb5474a11 Fix race condition in Unobstructed Platform View Scenario tests (flutter/engine#48096)
Fixes race situation where `_onPlatformMessage` is triggered before the first frame, essentially skipping the first frame.

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

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-11-16 19:02:57 +00:00
Jonah Williams
50edc5f397 [Impeller] store all path point data in single buffer. (flutter/engine#47896)
Path objects are expensive to allocate, create, move, et cetera because of the large number of internal heap allocations performed. This change combines the linear, quad, and cubic buffers into a single point buffer that stores all points/control points inline.

The existing component buffer stores the index to the first point in the buffer, and the type field determines how many points are read.

Benchmarked in https://flutter-engine-perf.skia.org/e/?queries=test%3DBM_Polyline_cubic_polyline%26test%3DBM_Polyline_quad_polyline&selected=commit%3D38035%26name%3D%252Cconfig%253Ddefault%252Ccpu_scaling_enabled%253Dfalse%252Cexecutable%253D_b_s_w_ir_cache_builder_src_out_host_release_geometry_benchmarks%252Clibrary_build_type%253Drelease%252Cmhz_per_cpu%253D2200%252Cnum_cpus%253D8%252Csub_result%253DTotalPointCount%252Ctest%253DBM_Polyline_quad_polyline%252Cunit%253Dns%252C

https://github.com/flutter/flutter/issues/138004
2023-11-16 18:54:12 +00:00
skia-flutter-autoroll
8325f708f0 Roll Skia from b9ead4140f84 to 297049bbfc0d (2 revisions) (flutter/engine#48133)
https://skia.googlesource.com/skia.git/+log/b9ead4140f84..297049bbfc0d

2023-11-16 kjlubick@google.com Add option to skip emsdk sync
2023-11-16 jvanverth@google.com [graphite] Improvement to image sampling performance.

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,jonahwilliams@google.com,nicolettep@google.com,rmistry@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
2023-11-16 18:36:26 +00:00
Chris Bracken
ee4fcf69da [macOS] Replace pasteboard mock with fake (flutter/engine#48110)
Also replaces the use of OCMock with a fake for tests involving the use of NSPasteboard. This avoids unnecessary use of OCMock in the tests, which has been responsible for flakiness in some tests, in particular where the mock is used across threads. This test was not problematic, but the fake makes the tests more readable.

Issue: https://github.com/flutter/flutter/issues/104789
Issue: https://github.com/flutter/flutter/issues/127441
Issue: https://github.com/flutter/flutter/issues/124840

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-11-16 18:13:50 +00:00
Chinmay Garde
94bb885ead [Impeller] Fix issue where the lock was not re-acquired when the wait exits on CV. (flutter/engine#48104)
Had not used std::adopt_lock before and didn't realize that the unique lock destructor unlocks the mutex even when the mutex is adopted (which I suppose makes sense when you think about it). But I had added the annotations assuming the lock will remain if adopted. Found after a painful round of debugging the "safe" condition variables.
2023-11-16 17:54:05 +00:00
Jonah Williams
a4b4cae1a8 [Impeller] Create a drawable backed TextureMTL. (flutter/engine#48049)
Allow creating a TextureMTL instance that is backend by a CAMetalLayer, which only acquires the drawable (and texture) lazily.

I split TextureMTL into two subclasses, one that has the standard wrapping behavior of a MTLTexture, and the other that holds a drawable. This is part of the foundational work for "removing drawable acquisition latency", as we need to delay aquisition of the drawable texture to a worker thread.

The drawable backed texture is only used in tests for now.

Part of https://github.com/flutter/flutter/issues/138490
2023-11-16 17:50:18 +00:00
auto-submit[bot]
74d08febd7 Reverts "Make flow/embedded_views.h compatible with .clang_tidy." (flutter/engine#48130)
Reverts flutter/engine#47994
Initiated by: jonahwilliams
This change reverts the following previous change:
Original Description:
Work towards https://github.com/flutter/flutter/issues/134969.

All changes were made automatically (i.e. with `--fix`).
2023-11-16 17:18:18 +00:00
Chris Bracken
87e57d7e14 [macOS] Replace fixture subclasses with usings (flutter/engine#48111)
In cases where we subclassed gtest fixtures purely to get better naming for test output (i.e. displaying/filtering on AccessibilityBridgeMacTest instead of AutoreleasePoolTest, replace these with `using` declarations, which is equally effective and avoids actually subclassing.

This applies no semantic changes to the code or tests.

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-11-16 16:55:27 +00:00
Matan Lurey
b741431a73 Make flow/embedded_views.h compatible with .clang_tidy. (flutter/engine#47994)
Work towards https://github.com/flutter/flutter/issues/134969.

All changes were made automatically (i.e. with `--fix`).
2023-11-16 08:47:54 -08:00
Matan Lurey
933bd94016 Make flow/... compatible with .clang_tidy. (flutter/engine#47995)
Work towards https://github.com/flutter/flutter/issues/134969.

All changes were made automatically (i.e. with `--fix`).
2023-11-16 08:41:10 -08:00
Matan Lurey
5bb5a50b0a Make lib/ui/painting/... compatible with .clang_tidy. (flutter/engine#47999)
Work towards https://github.com/flutter/flutter/issues/134969.

All changes were made automatically (i.e. with `--fix`).
2023-11-16 08:40:42 -08:00
Matan Lurey
4638f4fc85 Re-land "Make lib/ui/{text|window}/... compatible with .ci.yaml" (flutter/engine#48097)
Reverts https://github.com/flutter/engine/pull/48083.
2023-11-16 08:40:19 -08:00
skia-flutter-autoroll
a7cb9573ca Roll Skia from bf1d6d84db73 to b9ead4140f84 (1 revision) (flutter/engine#48124)
https://skia.googlesource.com/skia.git/+log/bf1d6d84db73..b9ead4140f84

2023-11-16 robertphillips@google.com [graphite] Allow creation of Protected Devices

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,jonahwilliams@google.com,nicolettep@google.com,rmistry@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
2023-11-16 16:37:06 +00:00
skia-flutter-autoroll
79e0a2f56a Roll Skia from 2fe70dd9cbf8 to bf1d6d84db73 (1 revision) (flutter/engine#48122)
https://skia.googlesource.com/skia.git/+log/2fe70dd9cbf8..bf1d6d84db73

2023-11-16 lehoangquyen@chromium.org GraphiteDawn: cache uniform buffers' bind groups.

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,jonahwilliams@google.com,nicolettep@google.com,rmistry@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
2023-11-16 15:39:59 +00:00
skia-flutter-autoroll
696b837f74 Roll Dart SDK from 5cccc24d127f to b512191e9612 (1 revision) (flutter/engine#48120)
https://dart.googlesource.com/sdk.git/+log/5cccc24d127f..b512191e9612

2023-11-16 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.3.0-142.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,jonahwilliams@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
2023-11-16 13:38:33 +00:00
skia-flutter-autoroll
86e7d7731d Roll Fuchsia Linux SDK from AuDKY8ob6GrGwDlmk... to M0zM3CJLIrd5lb0u0... (flutter/engine#48115)
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 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: 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
2023-11-16 08:49:15 +00:00
skia-flutter-autoroll
55fb5658c1 Roll Skia from 2642516e7de7 to 2fe70dd9cbf8 (1 revision) (flutter/engine#48114)
https://skia.googlesource.com/skia.git/+log/2642516e7de7..2fe70dd9cbf8

2023-11-16 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 13dd63c18adf to 8fa1b1b67aa7 (8 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,jonahwilliams@google.com,nicolettep@google.com,rmistry@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
2023-11-16 08:27:14 +00:00
skia-flutter-autoroll
041a1c3224 Roll Skia from add865f891c8 to 2642516e7de7 (1 revision) (flutter/engine#48112)
https://skia.googlesource.com/skia.git/+log/add865f891c8..2642516e7de7

2023-11-16 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from a982e241b362 to c5eb810b941f (4 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,jonahwilliams@google.com,nicolettep@google.com,rmistry@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
2023-11-16 07:38:40 +00:00
skia-flutter-autoroll
185345e14d Roll Dart SDK from cc6acfd7d57c to 5cccc24d127f (1 revision) (flutter/engine#48109)
https://dart.googlesource.com/sdk.git/+log/cc6acfd7d57c..5cccc24d127f

2023-11-16 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.3.0-141.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,jonahwilliams@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
2023-11-16 06:04:24 +00:00
skia-flutter-autoroll
fa0cf0bc76 Roll Skia from 5d6bdbf69dea to add865f891c8 (1 revision) (flutter/engine#48108)
https://skia.googlesource.com/skia.git/+log/5d6bdbf69dea..add865f891c8

2023-11-16 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn from 99672e2bf1ed to 85b15b0b132e (18 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,jonahwilliams@google.com,nicolettep@google.com,rmistry@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
2023-11-16 05:23:47 +00:00
skia-flutter-autoroll
eca85da3ce Roll Dart SDK from 65819963fb17 to cc6acfd7d57c (5 revisions) (flutter/engine#48100)
https://dart.googlesource.com/sdk.git/+log/65819963fb17..cc6acfd7d57c

2023-11-16 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.3.0-140.0.dev
2023-11-15 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.3.0-139.0.dev
2023-11-15 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.3.0-138.0.dev
2023-11-15 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.3.0-137.0.dev
2023-11-15 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.3.0-136.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,jonahwilliams@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
2023-11-16 02:16:32 +00:00
Matan Lurey
0371968293 Make fml/status_or.h compatible with .clang_tidy. (flutter/engine#48002)
Work towards https://github.com/flutter/flutter/issues/134969.
2023-11-15 18:08:56 -08:00
Dan Field
d38b0967a0 [Impeller] Gate Vulkan selection on API 29 (flutter/engine#48089)
Platform Views on Android require API 29 when using Vulkan.

~~I'm not sure if I did the CI changes right, want to run it here and see. The added test needs to run on a device or emulator with API 29 or above and API 28 or below to be valid.~~

Makes the following changes to CI:

- Runs the emulator tests on presubmit, but only if `shell/platform/android/**` or `lib/ui/**` or `.ci.yaml` changes.
- Changes the emulator tests to be a regular engine_v2 test that spawns an x86 build. Unfortunately, the older API level emulators are only available for x86, not x86_64, and you cannot run the binary we create unless it matches the ABI.
- Runs the new test on both API 28 and API 34.

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

/cc @johnmccutchan fyi
2023-11-16 02:04:41 +00:00
Chris Bracken
17d7e20c16 [macOS] Clean up allocations in menu plugin test (flutter/engine#48093)
Runs all FlutterMenuPlugin tests in an AutoReleasepoolTest, which                   
ensures all allocations are cleaned up.                                             
                                                                                    
Also extracts out some hackery into the FlutterMenuPluginTest fixture to            
ensure that NSApplication instantiates everything necessary to do menu              
bar manipulation.                                                                   
                                                                                    
Also replaces the use of OCMock in FlutterMenuPluginTest.mm with a fake             
FakePluginRegistrar class. This avoids unnecessary use of OCMock in the             
tests, which has been responsible for flakiness in some tests, in                   
particular where the mock is used across threads. This test was not                 
problematic, but the fake makes the tests more readable.                            
                                                                                    
Also fixes linter warnings about using NSLocalizedString for user-facing            
strings.

Issue: https://github.com/flutter/flutter/issues/104789
Issue: https://github.com/flutter/flutter/issues/127441
Issue: https://github.com/flutter/flutter/issues/124840
2023-11-15 16:40:39 -08:00
Matan Lurey
da57416cbe Re-land "Make fml/... compatible with .clang_tidy (flutter/engine#48030)
Reverts flutter/engine#48004
2023-11-16 00:09:24 +00:00
Chris Yang
c07e3193e7 [ios] introduce weak_nsobject (flutter/engine#47947)
Introduce weak_nsobject from chromium. 

There are some usages of weak_ptr wrapping Objective-C ids, weak_ptr is not really designed for ids and such usages are blocking the arc migration. 

This PR mostly copies the weak_nsobject from chromium, at the same hash that we copied the ARC/MRC compatible scoped_nsobject: fd625125b8

To match how we used weak_ptr for those ids, I made some changes to the weak_nsobject:
- WeakNSObjects needs to be generated by a WeakNSObjectFactory. The WeakNSObjectFactory is owned by the objc class and acts as the generator of the WeakNSObjects. All the WeakNSObjects' derefing thread should be the same of the WeakNSObjectFactory's creation thread.
- chromuim's WeakNSObjects can be detached from the thread and re-attached to a new thread. To match our weak_ptr behavior, I changed WeakNSObjects to be only accessed from a single thread, the same as weak_ptr

This PR also moves the FlutterEngine to use WeakNSObject and updated related classes.

part of https://github.com/flutter/flutter/issues/137801

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-11-15 23:43:24 +00:00
skia-flutter-autoroll
81e50af073 Roll Skia from e954d1a1972c to 5d6bdbf69dea (2 revisions) (flutter/engine#48094)
https://skia.googlesource.com/skia.git/+log/e954d1a1972c..5d6bdbf69dea

2023-11-15 hitawala@chromium.org Graphite: Relax wgpu::TextureAspect validation
2023-11-15 bungeman@google.com Make SkFontMetrics::operator== const

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,jonahwilliams@google.com,nicolettep@google.com,rmistry@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
2023-11-15 23:33:08 +00:00
Jonah Williams
9af166c5ce [Impeller] add async command submission for blit pass. (flutter/engine#48040)
This is a requirement for the "Remove Drawable Acquisition Latency" Change, but is otherwise a harmless improvement.

---

Submitting a command buffer causes the backend specific encoding logic to run. Metal is unique in that it is fairly easy to move this work into a background thread, allowing the engine to move onto creating the next command buffer. This improves throughput of the engine, at the cost of needing two slightly different APIs. Currently the GLES and Vulkan versions of this method still submit synchronously - for now that is out of scope as doing background work with those APIs has proved more challenging.

See also:
   * https://github.com/flutter/engine/pull/42028
   * https://github.com/flutter/flutter/issues/131698
   
Separately, as a requirement for the design in "Remove Drawable Acquisition Latency", we need to be able to defer drawable acquisition to this background thread. While this almost already works for render passes, it does not work for blit passes today. if the engine renders a backdrop filter, then the final command buffer submitted will be a blit pass that copies an offscreen onto the drawable. Therefore we need to add an async version of the blit submission, so that we have a hook to move the drawable acquisition onto a background thread for metal.

This hadn't been done until now because most blit cmd buffers have 1 or 2 cmds on them so the benefit of moving to a background thread is minimal.

Part of https://github.com/flutter/flutter/issues/138490
2023-11-15 23:22:22 +00:00
Matan Lurey
9ce1ec8867 Make lib/ui/compositing/... compatible with .clang_tidy. (flutter/engine#48001)
Work towards https://github.com/flutter/flutter/issues/134969.

All changes were made automatically (i.e. with `--fix`).
2023-11-15 23:09:05 +00:00
godofredoc
97b5d699e6 Remove the linux fuchsia v1 build. (flutter/engine#48085)
The fuchsia v2 build is working correctly and we are ready to remove the v1 version.

Bug: https://github.com/flutter/flutter/issues/132600

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-11-15 23:02:37 +00:00
Mouad Debbar
9b5f97c730 [web] Apply global styles before inserting the DOM element (flutter/engine#48027)
The current way we are doing global styles (using `CSSStyleSheet`) forces us to insert the DOM element into the document before we attach any styles to the element. That restriction goes away if we append the styles as `TextNode`s into the `<style>` element.

Now with the movement towards `DomManager`, I would like to be able to create the entire DOM tree of the Flutter View (including all styles) before we insert it into the document.

Part of https://github.com/flutter/flutter/issues/134443
2023-11-15 23:02:35 +00:00
skia-flutter-autoroll
701b799055 Roll Skia from b23074a79bda to e954d1a1972c (7 revisions) (flutter/engine#48092)
https://skia.googlesource.com/skia.git/+log/b23074a79bda..e954d1a1972c

2023-11-15 michaelludwig@google.com Set fill style and remove path effects on saveLayer restore paint
2023-11-15 johnstiles@google.com Fix minor errors in gn_to_bp.
2023-11-15 bungeman@google.com Check for empty glyphs in last resort fallback
2023-11-15 skia-autoroll@skia-public.iam.gserviceaccount.com Roll skottie-base from 1f5289c9db82 to ba1e7f5c1e82
2023-11-15 johnstiles@google.com Fix typo in YUV cubic filter.
2023-11-15 johnstiles@google.com Add Haswell and Skylake support to skcms gn/bazel build files.
2023-11-15 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 4aadd727887d to 13dd63c18adf (9 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,jonahwilliams@google.com,nicolettep@google.com,rmistry@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
2023-11-15 22:49:20 +00:00
auto-submit[bot]
ff90f25a41 Reverts "Make lib/ui/{text|window}/... compatible with .clang_tidy." (flutter/engine#48083)
Reverts flutter/engine#48000
Initiated by: jonahwilliams
This change reverts the following previous change:
Original Description:
I just ... deleted `text_box.h` as it appears unused and unreferenced?

---

Work towards https://github.com/flutter/flutter/issues/134969.

All changes were made automatically (i.e. with `--fix`).
2023-11-15 19:55:17 +00:00
hellohuanlin
058ffbe73f [ios]fix ios 16 auto correction highlight showing on top left corner (flutter/engine#47279)
This PR hides the system highlights in iOS 16 (except when scribble is enabled). 

Note that auto correction highlight is still drawn by flutter, so it still works. 

I don't think we need to CP this, since it's iOS 16 only, and iOS 17 is already out. 

## Why not use system highlight? 

Unlike iOS 17, the iOS 16 system highlight only respect the width provided by `firstRectForRange`, but not the height. I have audited all sizing related APIs in UITextInput (doc [here](https://developer.apple.com/documentation/uikit/uitextinput#1653155)), specifically, `firstRect(for:)`, `caretRect(for:)` and `selectionRects(for:)`, and they all return the correct height. 

## About scribble
The initial implementation of `firstRectForRange` (that returns the first selection rect) was introduced for the scribble feature on iPad (code [here](1d3165a31c (diff-4c7b102c0690b8ec5e2212b079f5d69fe3f816c84e47ce94bc7bc89312f39e40R1487-R1505))). 

It turns out that a non-zero rect is required for scribble's advanced feature to work (e.g. inserting a space with a vertical bar). So we can't apply this fix for scribble. 

*List which issues are fixed by this PR. You must list at least one issue.*

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

*If you had to change anything in the [flutter/tests] repo, include a link to the migration guide as per the [breaking change policy].*

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-11-15 19:37:22 +00:00