23981 Commits

Author SHA1 Message Date
gaaclarke
70b4e83c3d Made the warning about downgrading wide gamut happen at the correct time (flutter/engine#46064)
fixes https://github.com/flutter/flutter/issues/135033

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-09-19 21:45:35 +00:00
Matan Lurey
42bac1a9a9 Conform to clang_tidy in client_wrapper headers. (flutter/engine#46058)
Partial work towards https://github.com/flutter/flutter/issues/134969.

All of these were auto-suggested by Clang, and mostly avoid unnecessary
copies.
2023-09-19 14:43:06 -07:00
gaaclarke
9a2dcd854e [Impeller] Adds unit test to make sure we can encode bgr101010xr to png. (flutter/engine#46007)
fixes https://github.com/flutter/flutter/issues/133942

This is current blocked on the skia bug: https://g-issues.skia.org/issues/300986800
Depends on skia fix: https://skia-review.googlesource.com/c/skia/+/757816

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-09-19 21:24:47 +00:00
Chris Yang
2b2092a781 [ios] scenario test make parent view controller hide status bar (flutter/engine#46065)
The parent view controller of FlutterViewController in `non_full_screen_flutter_view_platform_view` does not explicitly set the status bar hidden. iOS 17 will show the status bar causing the golden to be no deterministic. 

Part of https://github.com/flutter/flutter/issues/133207

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-09-19 21:23:16 +00:00
Michael Goderbauer
f98560e895 Enable strict-inference (flutter/engine#46062)
Avoids that dynamic accidentally sneaks in, see https://dart.dev/tools/analysis#enabling-additional-type-checks
2023-09-19 21:17:16 +00:00
skia-flutter-autoroll
eb1ebd7600 Roll Skia from 559a964f9f1b to fe3568162721 (5 revisions) (flutter/engine#46069)
https://skia.googlesource.com/skia.git/+log/559a964f9f1b..fe3568162721

2023-09-19 jvanverth@google.com [graphite] Switch signed unique ID iterators to unsigned.
2023-09-19 jamesgk@google.com Add "unsafe apis" toggle for Adapter in Graphite DawnTestContext
2023-09-19 fmalita@chromium.org [skottie] Make text shaper header public
2023-09-19 jvanverth@google.com [graphite] Add option to disable cached glyph uploads.
2023-09-19 jamesgk@google.com [graphite] Use Dawn's dual-src blend coeffs when possible

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,rmistry@google.com,tdenniston@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://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-09-19 21:15:05 +00:00
Srujan Gaddam
978165ed7d Implement JSObject instead of extending (flutter/engine#46070)
JSObject will have a factory constructor to create an object literal, so
you can't extend it as it will no longer have a generative constructor
(@staticInterop types can't have generative constructors).
2023-09-19 14:14:16 -07:00
Matan Lurey
4f1227c920 FlutterMouse.* -> kFlutterMouse.*, so we can lint header files. (flutter/engine#46056)
Partial work towards https://github.com/flutter/flutter/issues/134969.

---------

Co-authored-by: Chris Bracken <chris@bracken.jp>
2023-09-19 14:13:18 -07:00
Matan Lurey
3c7f8df584 Add TODO(name) to comply with Clang Tidy. (flutter/engine#46057)
Partial work towards https://github.com/flutter/flutter/issues/134969.
2023-09-19 12:54:08 -07:00
Chris Yang
4260e227dc [ios]Adjust golden test threshold for TwoPlatformViewsWithOtherBackDropFilterTests based on current macOS version (flutter/engine#45891)
TwoPlatformViewsWithOtherBackDropFilterTests is failing on macOS 13 with the same simulator version used in macOS 12. The image diff looks identical and slightly above the threshold. This PR adjusts the threshold for this test temporarily so our CI can run on both macOS 13 and 12. This change can be reverted when we move all our CI to macOS 13

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

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-09-19 19:54:00 +00:00
skia-flutter-autoroll
e8830a730b Roll Skia from d756a2f5665d to 559a964f9f1b (9 revisions) (flutter/engine#46059)
https://skia.googlesource.com/skia.git/+log/d756a2f5665d..559a964f9f1b

2023-09-19 brianosman@google.com Fix encoder funtion for 101010_xr
2023-09-19 johnstiles@google.com Pass the GraphiteTestContext to the most-complex DEF_TESTs.
2023-09-19 johnstiles@google.com Return a ContextInfo from Graphite's ContextFactory.
2023-09-19 kjlubick@google.com Add grep (pgrep) to Docker container used to build Skia-release
2023-09-19 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 640b7331b244 to e1a78e7e85a9 (2 revisions)
2023-09-19 bungeman@google.com [skshaper] Stage "Split off SkUnicode specific code"
2023-09-19 jvanverth@google.com [graphite] Track whether ordered Recordings are required.
2023-09-19 jmbetancourt@google.com expose textProperty slot support to CanvasKit
2023-09-19 skia-autoroll@skia-public.iam.gserviceaccount.com Manual roll ANGLE from 91ef1f3cfd30 to 7cb117e0b06c (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,rmistry@google.com,tdenniston@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://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-09-19 18:30:17 +00:00
Matan Lurey
1475e52d11 Deprecate fml::LOG_X in favor of kLogX. (flutter/engine#46052)
This is required to eventually land https://github.com/flutter/flutter/issues/134969 (lint header files).

No changes in behavior in this PR. Future steps:

 - Change existing `LOG_X` references to `kLogX`
 - Delete `LOG_X`
2023-09-19 18:05:38 +00:00
Matan Lurey
7ebcf75a46 Rename layoutGoals to kLayoutGoals to enforce lints on headers. (flutter/engine#46054)
This is required to eventually land https://github.com/flutter/flutter/issues/134969 (lint header files).
2023-09-19 17:58:33 +00:00
skia-flutter-autoroll
0363248df8 Roll Skia from d54cf63f051b to d756a2f5665d (5 revisions) (flutter/engine#46048)
https://skia.googlesource.com/skia.git/+log/d54cf63f051b..d756a2f5665d

2023-09-19 kjlubick@google.com Enforce IWYU on more src/core files
2023-09-19 johnstiles@google.com Migrate Mali 400 test disables into SkSLTest.cpp.
2023-09-19 johnstiles@google.com Migrate Adreno test disables into SkSLTest.cpp.
2023-09-19 kjlubick@google.com Add way to get GrDirectContext from Ganesh-backed image
2023-09-19 robertphillips@google.com [graphite] Use Compose helper to add color filters to the key

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,rmistry@google.com,tdenniston@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://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-09-19 16:33:04 +00:00
Jackson Gardner
7f3c15c543 Update CI to Chrome 117 (flutter/engine#45842) 2023-09-19 16:27:49 +00:00
Mouad Debbar
2c66a531e9 [web] DOM objects implement JS object (flutter/engine#46047)
Instead of doing `as JSAny` for DOM objects that are defined in static JS interop, let's make them `implements JSObject`?

cc @eyebrowsoffire @srujzs thoughts?
2023-09-19 15:53:16 +00:00
skia-flutter-autoroll
ebd9e705e0 Roll Skia from 1e84aa4509cd to 91adc7d289f7 (2 revisions) (flutter/engine#46040)
https://skia.googlesource.com/skia.git/+log/1e84aa4509cd..91adc7d289f7

2023-09-19 robertphillips@google.com [graphite] Refactor the precompilation SelectOption and AddToKey methods
2023-09-19 kjlubick@google.com Add googlefonts CIPD asset to fontations

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,rmistry@google.com,tdenniston@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://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-09-19 14:30:28 +00:00
skia-flutter-autoroll
b4f66d847b Roll Dart SDK from 8ad823c03f26 to e7cd697bd0e9 (2 revisions) (flutter/engine#46039)
https://dart.googlesource.com/sdk.git/+log/8ad823c03f26..e7cd697bd0e9

2023-09-19 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.2.0-179.0.dev
2023-09-19 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.2.0-178.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://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-09-19 14:22:54 +00:00
Kevin Lubick
65945baf01 Add more missing Skia #includes (flutter/engine#46034)
Ran into compile errors when refactoring Skia's #includes. This
addresses those

## 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 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].
- [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-09-19 10:05:20 -04:00
Bruno Leroux
195a313245 [macOS,iOS] Expose channel buffers 'resize' and 'overflow' control co… (flutter/engine#44848)
## Description

This PR update the helper function that invokes the control channel 'resize' command (previous implementation relied on a deprecated format). It also adds a similar helper function for the 'overflow' commands exposed by the control channel.

See:

c00c022036/lib/ui/channel_buffers.dart (L302-L309)

## Related Issue

iOS and macOS implementation for https://github.com/flutter/flutter/issues/132386

Similar implementations:
- Android: https://github.com/flutter/engine/pull/44434
- Linux: https://github.com/flutter/engine/pull/44636

## Tests

Adds two tests.
2023-09-19 09:40:18 +00:00
skia-flutter-autoroll
d9a3f74eec Roll Dart SDK from 5b0e7bda1379 to 8ad823c03f26 (3 revisions) (flutter/engine#46028)
https://dart.googlesource.com/sdk.git/+log/5b0e7bda1379..8ad823c03f26

2023-09-19 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.2.0-177.0.dev
2023-09-18 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.2.0-176.0.dev
2023-09-18 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.2.0-175.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://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-09-19 09:34:14 +00:00
skia-flutter-autoroll
68136393cd Roll Skia from 744807d740c7 to 1e84aa4509cd (4 revisions) (flutter/engine#46026)
https://skia.googlesource.com/skia.git/+log/744807d740c7..1e84aa4509cd

2023-09-19 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from 18f1b3b8e79d to 91ef1f3cfd30 (11 revisions)
2023-09-19 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia Infra from 6e55411b61e1 to 1b17251d0e2c (10 revisions)
2023-09-19 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn from 02233e019c4e to 5ca21ed72084 (5 revisions)
2023-09-19 skia-autoroll@skia-public.iam.gserviceaccount.com Roll SK Tool from aea31dd66eb1 to 1b17251d0e2c

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 bdero@google.com,brianosman@google.com,rmistry@google.com,tdenniston@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://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-09-19 07:37:31 +00:00
Jonah Williams
88e963e0fd [Android] Add support for setting thread affinity based on core speed. (flutter/engine#45673)
https://github.com/flutter/flutter/issues/134452

This patch parses the speed of all CPU data out of /proc and constructs a table that allows us to request high level CPU affinities: performance, efficiency, and not performance. These affinties are applied where appropriate during Android thread construction.
2023-09-19 03:50:05 +00:00
Chinmay Garde
88f8bb7e25 [Impeller] Fix STB backend to account for max texture sizes. (flutter/engine#46010)
Gets rid of the hardcoded 2048 px size.

Followup from review comment left unaddressed in https://github.com/flutter/engine/pull/45992.

Missing this will be less easy after https://github.com/flutter/flutter/issues/133029.
2023-09-19 03:26:36 +00:00
Matan Lurey
2b4d2616aa [Impeller] Hold the CommandPoolVK at a higher scope. (flutter/engine#46013)
Fixes https://github.com/flutter/flutter/issues/134982.

I could never reproduce the flakes locally, but this should prevent `pool1 == pool2`.
2023-09-19 01:25:25 +00:00
skia-flutter-autoroll
ac6eb5de3d Roll Skia from 0c990ab9e097 to 4122791099ce (19 revisions) (flutter/engine#46016)
https://skia.googlesource.com/skia.git/+log/0c990ab9e097..4122791099ce

2023-09-18 johnstiles@google.com Remove orphaned test disable.
2023-09-18 brianosman@google.com Remove paint-color transform in working-format color filter
2023-09-18 skia-autoroll@skia-public.iam.gserviceaccount.com Roll shaders-base from 45116d485d17 to 75c3a7bb1f19
2023-09-18 skia-autoroll@skia-public.iam.gserviceaccount.com Roll skottie-base from ac643e8ecce3 to 6fbc053bdad0
2023-09-18 skia-autoroll@skia-public.iam.gserviceaccount.com Roll jsfiddle-base from 420bf03c7a80 to 3c3b69cdbecd
2023-09-18 skia-autoroll@skia-public.iam.gserviceaccount.com Roll debugger-app-base from 5b191a5ec3d1 to 4880b92b4f1c
2023-09-18 brianosman@google.com Suppress alpha-only image shader logic when sampled via runtime effects
2023-09-18 bungeman@google.com Reland "[skicu] Use cache and respect locale"
2023-09-18 johnstiles@google.com Remove Dawn Ganesh-specific SkSL test disables.
2023-09-18 brianosman@google.com In DM, use an SkSurface for CPU configs
2023-09-18 johnstiles@google.com Add contextType() accessor to test contexts.
2023-09-18 kjlubick@google.com Enforce IWYU on src/core/SkC* and SkD*
2023-09-18 kjlubick@google.com Remove TextBlob's empty mailbox in favor of delegate
2023-09-18 egdaniel@google.com Remove SkRefCnt from GrGpu.
2023-09-18 jmbetancourt@google.com [skottie] make SkottieSlide slot manager UI responsive to live changes
2023-09-18 skia-autoroll@skia-public.iam.gserviceaccount.com Manual roll ANGLE from 22b6ca1c6191 to 18f1b3b8e79d (2 revisions)
2023-09-18 johnstiles@google.com Re-enable pixel-local storage test.
2023-09-18 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 53e6e021f9b7 to cf45d7c5dc0d (1 revision)
2023-09-18 johnstiles@google.com Pass test run details into SkSL test permutation runner.

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 bdero@google.com,brianosman@google.com,rmistry@google.com,tdenniston@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://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-09-19 01:21:21 +00:00
Kevin Lubick
114d818f47 Add missing include of SkPath (flutter/engine#45996)
This is needed as Skia refactors its #includes internally.

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-09-18 23:49:17 +00:00
Chinmay Garde
91066844ea [Impeller] Respect max supported texture size when allocating glyph atlas texture. (flutter/engine#45992)
The earlier limit of 4096u was pessimistically small on some backends and too big on others (like older versions of OpenGL ES). The former would stop glpyhs from rendering when they got sufficiently large or numerous. The latter would cause errors on texture allocation.

The full fix is tracked in https://github.com/flutter/flutter/issues/133092
2023-09-18 22:37:57 +00:00
Chris Bracken
0a532593f1 Revert "[Windows] Update vsync on raster thread (#45310)" (flutter/engine#46000)
This also reverts the ANGLE roll (for which the original fix was landed) to 48e2c605adcd5bcc1622b18f357c7a73ebfb3543.

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

This reverts commit 2bec12f0b4d76d9f60d55d057e16cd2788083ade.

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-09-18 22:34:29 +00:00
Matan Lurey
8af3ec1fb9 Provide a default --target-variant for clang_tidy. (flutter/engine#45909)
Using `engine_repo_tools`, provide a default `--target-variant` for the `clang_tidy` tool.

Mostly test code added below, the major change is that `--target-variant` now has a default other than `host_debug` if we're running inside of an engine root (which we ~always are). I didn't make any other changes (i.e. to the pre-commit hook) to keep this change smallish.

Also rewrote the `README.md` to represent the current state as best I could.
2023-09-18 22:34:27 +00:00
Chris Yang
c27c8aaa15 Revert "[ios] use python script to generate extension safe frameworks and code sign them" (flutter/engine#46004)
Reverts flutter/engine#45781

Issue with engine roll https://github.com/flutter/flutter/pull/134964.
We need to update the conductor and performa manual roll.
We also need to remove the Flutter.framework from the artifact.zip
2023-09-18 22:09:33 +00:00
John McCutchan
c74acc92aa Disable HardwareBuffer backed Platform Views temporarily (flutter/engine#45986)
Necessary to unblock the GPay release
2023-09-18 12:36:16 -07:00
John McCutchan
4081d7d574 Tighten up ImageReaderPlatformViewRenderTarget code (flutter/engine#45889)
- Fix a missing Image close in an error path.
- Ensure we close the Image when the TextureEntry is finalized.
- Fix an inconsistency in the maxImages when running on Android < 33.
- Wrap acquireLatestImage in a try block and return a null image instead
of crashing the application.
2023-09-18 12:34:10 -07:00
Chris Yang
969d5e0d18 [ios] use python script to generate extension safe frameworks and code sign them (flutter/engine#45781)
Generates the fat framework for extension safe variants and add them to the code sign list.

Also reverts part of https://github.com/flutter/engine/pull/45664 where the variants are uploaded in separate archive. Now with this change, the extension safe is inside a "extension_safe" folder under existing archive. 

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

The destination folder after this change:
- An extension_safe folder is added, which includes the extension safe Flutter.frameworks and dsym
- The artifacts.zip now includes the `extension_safe` except the dysm
- A extension_safe_Flutter.dsym.zip is created (under ios/release/) , which includes the extension_safe/Flutter.dsym

<img width="508" alt="Screenshot 2023-09-13 at 3 26 23 PM" src="https://github.com/flutter/engine/assets/3756895/84901ef1-af89-413f-94c7-74ed0aa36da6">

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-09-18 18:02:54 +00:00
LongCatIsLooong
5b716552a7 [iOS] Remove selectionDidChange call in UndoManager (flutter/engine#45657)
Fixes https://github.com/flutter/flutter/issues/133424

The `-[TextInputDelegate selectionDidChange:]` call actually triggers some unwanted keyboard NLP actions that generate a bunch of candidates and automatically accept the first candidate. This causes `-[UITextInput setMarkedText:selection]` to be called with the first candidate and that inserts extraneous characters after the user types certain characters on the iPad software keyboard.

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-09-18 17:18:57 +00:00
skia-flutter-autoroll
c15e1176e9 Roll Skia from f8065ca00d0c to 0c990ab9e097 (7 revisions) (flutter/engine#45979)
https://skia.googlesource.com/skia.git/+log/f8065ca00d0c..0c990ab9e097

2023-09-18 skia-autoroll@skia-public.iam.gserviceaccount.com Manual roll Dawn from d00d8da6f58d to 02233e019c4e (69 revisions)
2023-09-18 robertphillips@google.com [graphite] Implement AddBlendModeColorFilter with the Blend helper
2023-09-18 skia-autoroll@skia-public.iam.gserviceaccount.com Manual roll vulkan-deps from dc9947ad4d2b to 53e6e021f9b7 (2 revisions)
2023-09-18 kjlubick@google.com Avoid direct call from SkPictureData -> Slug
2023-09-18 johnstiles@google.com Disable test PixelLocalStorage.sksl temporarily.
2023-09-18 skia-autoroll@skia-public.iam.gserviceaccount.com Roll skottie-base from 3d8e63c59919 to ac643e8ecce3
2023-09-18 kjlubick@google.com Remove shim includes

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 bdero@google.com,brianosman@google.com,rmistry@google.com,tdenniston@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://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-09-18 15:44:50 +00:00
Mouad Debbar
b470cd2ab1 [web] ScreenOrientation singleton (flutter/engine#45304)
One more piece moving out of `FlutterViewEmbedder`.

`ScreenOrientation` is a singleton class that can be used to control the screen orientation of the browser.

Part of https://github.com/flutter/flutter/issues/134443
2023-09-18 15:43:08 +00:00
Mouad Debbar
3ef852f5de [web] De-singletonize MouseCursor for multi-view (flutter/engine#45295)
`MouseCursor` is a singleton that works by accessing `flutterViewEmbedder` directly. After this PR, `MouseCursor` becomes a non-singleton that takes a `FlutterView` and controls the mouse cursor for said view.

Part of https://github.com/flutter/flutter/issues/134443
2023-09-18 15:35:58 +00:00
skia-flutter-autoroll
050dc329d1 Roll Skia from 0d02aa8cb640 to eac827d9eed3 (1 revision) (flutter/engine#45957)
https://skia.googlesource.com/skia.git/+log/0d02aa8cb640..eac827d9eed3

2023-09-18 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia Infra from 18fd0925a396 to 6e55411b61e1 (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 bdero@google.com,brianosman@google.com,rmistry@google.com,tdenniston@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://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-09-18 05:30:25 +00:00
skia-flutter-autoroll
9435d9c043 Roll Skia from a1f8fb54299a to b33e0e6706b0 (1 revision) (flutter/engine#45923)
https://skia.googlesource.com/skia.git/+log/a1f8fb54299a..b33e0e6706b0

2023-09-16 egdaniel@google.com Add GrDirectCotnext querey to check if the we are in a device lost state

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 bdero@google.com,brianosman@google.com,jmbetancourt@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://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-09-16 05:42:11 +00:00
skia-flutter-autoroll
860eaf97de Roll Dart SDK from 029d6d73c860 to a0ca39c63c16 (1 revision) (flutter/engine#45921)
https://dart.googlesource.com/sdk.git/+log/029d6d73c860..a0ca39c63c16

2023-09-16 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.2.0-171.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 bdero@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://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-09-16 05:31:47 +00:00
Matan Lurey
6b489a6193 [Impeller] vk::CommandPool resets via ResourceManager (flutter/engine#45654)
Fixes https://github.com/flutter/flutter/issues/133198.

Major changes:

- `CommandPoolVK` is now created indirectly through `CommandPoolRecyclerVK`.
- Via destructor, `CommandPoolVK` resets on a background thread via `ResourceManager`.
- Removed all of the code trying to reuse/reset individual command buffers (no longer needed).
- After every frame, the current/active command pool is recycled.

---

_Tests secured._
2023-09-16 04:20:21 +00:00
skia-flutter-autoroll
8a87d088b7 Roll Fuchsia Linux SDK from wWzXsy6kx1sp8Km34... to ZhY53WD7bFJSA3xoO... (flutter/engine#45919)
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 bdero@google.com,rmistry@google.com,zra@google.com on the revert to ensure that a human
is aware of the problem.

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-09-16 04:12:10 +00:00
Matan Lurey
5e0a53255f Add a single MacOS+Vulkan+SwiftShader CI test (flutter/engine#45918)
Closes https://github.com/flutter/flutter/issues/133708.

Will track why it's (a) blank and (b) times out in async presentation in https://github.com/flutter/flutter/issues/134852.
2023-09-16 03:55:06 +00:00
skia-flutter-autoroll
64f6d56862 Roll Skia from 696ac041ea82 to a1f8fb54299a (1 revision) (flutter/engine#45917)
https://skia.googlesource.com/skia.git/+log/696ac041ea82..a1f8fb54299a

2023-09-16 johnstiles@google.com Fix Vulkan depth format flags for VK_FORMAT_D32_SFLOAT_S8_UINT.

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 bdero@google.com,brianosman@google.com,jmbetancourt@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://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-09-16 03:46:49 +00:00
skia-flutter-autoroll
2081fa7754 Roll Skia from 4851cd29e1dd to 696ac041ea82 (1 revision) (flutter/engine#45915)
https://skia.googlesource.com/skia.git/+log/4851cd29e1dd..696ac041ea82

2023-09-16 michaelludwig@google.com [graphite] Add TRACE_EVENTS throughout

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 bdero@google.com,brianosman@google.com,jmbetancourt@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://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-09-16 03:02:07 +00:00
Jonah Williams
83f48da122 Revert "[Impeller] construct text frames on UI thread." (flutter/engine#45910)
Reverts flutter/engine#45418

Some google3 tests are hitting the CHECK I added in the DlSkCanvasDispatcher::drawTextFrame, which indicates that the SkParagraph code likely thinks impeller is enabled, whereas other code might be running with Skia.

Perhaps this could happen if its software rendering? It should be a fatal error on startup so we can track this down.
2023-09-16 01:22:13 +00:00
skia-flutter-autoroll
080410ad70 Roll Skia from 7c179932cc06 to c19cc483c619 (1 revision) (flutter/engine#45911)
https://skia.googlesource.com/skia.git/+log/7c179932cc06..c19cc483c619

2023-09-16 michaelludwig@google.com Update SetTraceValue() to use a template, remove bitpun union

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 bdero@google.com,brianosman@google.com,jmbetancourt@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://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-09-16 01:20:11 +00:00
skia-flutter-autoroll
39c160cc30 Roll Skia from 0057898979a1 to 917fd16e6f26 (1 revision) (flutter/engine#45906)
https://skia.googlesource.com/skia.git/+log/0057898979a1..917fd16e6f26

2023-09-15 johnstiles@google.com Add device-name to Caps when test-utils is active.

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 bdero@google.com,brianosman@google.com,jmbetancourt@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://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-09-15 22:56:27 +00:00
Matan Lurey
8ec1692298 Do not convert an open path to a closed rect. (flutter/engine#45903)
Fixes https://github.com/flutter/flutter/issues/134816.

---

Confirmed this only happens when utilizing `DisplayListBuilder`.
Consider:

```cc
TEST_P(DisplayListTest, CanDrawAnOpenPath) {
  flutter::DisplayListBuilder builder;
  flutter::DlPaint paint;

  paint.setColor(flutter::DlColor::kRed());
  paint.setDrawStyle(flutter::DlDrawStyle::kStroke);
  paint.setStrokeWidth(10);

  builder.Translate(300, 300);

  // Move to (50, 50) and draw lines from:
  // 1. (50, height)
  // 2. (width, height)
  // 3. (width, 50)
  SkPath path;
  path.moveTo(50, 50);
  path.lineTo(50, 100);
  path.lineTo(100, 100);
  path.lineTo(100, 50);
  builder.DrawPath(path, paint);

  ASSERT_TRUE(OpenPlaygroundHere(builder.Build()));
}
```

![Screenshot 2023-09-15 at 2 06 53
PM](https://github.com/flutter/flutter/assets/168174/3a3868e1-f1d1-4e29-affa-4bd32d26ccdc)

---

The bug is in `dl_dispatcher.cc`:

```cc
// |flutter::DlOpReceiver|
void DlDispatcher::drawPath(const SkPath& path) {
  SkRect rect;
  SkRRect rrect;
  SkRect oval;

  if (path.isRect(&rect)) {
    canvas_.DrawRect(skia_conversions::ToRect(rect), paint_);
  } else if (path.isRRect(&rrect) && rrect.isSimple()) {
    canvas_.DrawRRect(skia_conversions::ToRect(rrect.rect()),
                      rrect.getSimpleRadii().fX, paint_);
  } else if (path.isOval(&oval) && oval.width() == oval.height()) {
    canvas_.DrawCircle(skia_conversions::ToPoint(oval.center()),
                       oval.width() * 0.5, paint_);
  } else {
    canvas_.DrawPath(skia_conversions::ToPath(path), paint_);
  }
}
```

Note the documentation for `isRect`:

```cc
/** Returns true if SkPath is equivalent to SkRect when filled.
    If false: rect, isClosed, and direction are unchanged.
    If true: rect, isClosed, and direction are written to if not nullptr.

    rect may be smaller than the SkPath bounds. SkPath bounds may include kMove_Verb points
    that do not alter the area drawn by the returned rect.

    @param rect       storage for bounds of SkRect; may be nullptr
    @param isClosed   storage set to true if SkPath is closed; may be nullptr
    @param direction  storage set to SkRect direction; may be nullptr
    @return           true if SkPath contains SkRect

    example: https://fiddle.skia.org/c/@Path_isRect
*/
bool isRect(SkRect* rect, bool* isClosed = nullptr, SkPathDirection* direction = nullptr) const;
```

... the `isClosed` is critical, without checking that we're doing an
incorrect optimization.

I'll send a fix and test.
2023-09-15 15:29:13 -07:00