22296 Commits

Author SHA1 Message Date
skia-flutter-autoroll
e41cfec63d Roll Skia from 7c7dff949a27 to 5b2005e47bf3 (1 revision) (flutter/engine#42199)
https://skia.googlesource.com/skia.git/+log/7c7dff949a27..5b2005e47bf3

2023-05-21 johnstiles@google.com Reject SkSL programs that are larger than 8MB.

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,rmistry@google.com,scroggo@google.com,zra@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-05-21 15:12:05 +00:00
Kevin Lubick
7751d1c5eb Move SkSurface::MakeNull to SkSurfaces::Null (flutter/engine#42158)
In https://skia-review.googlesource.com/c/skia/+/696537 (and earlier in
https://skia-review.googlesource.com/c/skia/+/687639), Skia moved all
SkSurface factories. This changes the last calls of the old static
methods to the methods in the `SkSurfaces` namespace

## Pre-launch Checklist

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

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

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#overview
[Tree Hygiene]: https://github.com/flutter/flutter/wiki/Tree-hygiene
[Flutter Style Guide]:
https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo
[C++, Objective-C, Java style guides]:
https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
[testing the engine]:
https://github.com/flutter/flutter/wiki/Testing-the-engine
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#handling-breaking-changes
[Discord]: https://github.com/flutter/flutter/wiki/Chat
2023-05-20 10:11:44 -04:00
skia-flutter-autoroll
a98b701976 Roll Fuchsia Linux SDK from TWjmvLCOnYAUgAzvT... to c_fRDyBVZX-MwW5fS... (flutter/engine#42189)
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 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-05-20 10:20:23 +00:00
skia-flutter-autoroll
218a9ef722 Roll Skia from 7202b405f061 to b4a4782cf89d (19 revisions) (flutter/engine#42185)
https://skia.googlesource.com/skia.git/+log/7202b405f061..b4a4782cf89d

2023-05-20 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 68bc448fa901 to 44392282e953 (5 revisions)
2023-05-19 lovisolo@google.com [bazel] Remove SkImageAndroid.h from //include/android:public_hdrs.
2023-05-19 kjlubick@google.com Revert "Remove legacy SkSurface factories"
2023-05-19 johnstiles@google.com Add WGSL support for short-circuited expressions.
2023-05-19 johnstiles@google.com Add new SkSL tests to dm.
2023-05-19 armansito@google.com [vello] Support compiling the vello dependencies using Bazel
2023-05-19 penghuang@chromium.org dawn: use alpha version of BlendFactor for wgpu::BlendState::alpha
2023-05-19 johnstiles@google.com Implement non-trivial ternary expressions in WGSL.
2023-05-19 lovisolo@google.com [bazel] //tests/adb_test.bzl: Rewrite test runner in Go.
2023-05-19 jamesgk@google.com [graphite] Choose renderer before updating clip stack
2023-05-19 kjlubick@google.com Remove legacy SkSurface factories
2023-05-19 michaelludwig@google.com [skif] Remove legacy SkPictureImageFilter
2023-05-19 michaelludwig@google.com [skif] Update SkImageImageFilter to use FilterResult
2023-05-19 lovisolo@google.com [bazel] //tests/android.bzl: Rewrite tarball creation script in Go.
2023-05-19 johnstiles@google.com Allow WGSL expression generators to emit extra statements.
2023-05-19 johnstiles@google.com Add new 'Statement' level for operator precedence.
2023-05-19 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 3600ed906bb4 to 68bc448fa901 (3 revisions)
2023-05-19 kjlubick@google.com Speculative fixes for CreateDockerImage_Skia_Release
2023-05-19 lovisolo@google.com [bazel] BazelTest-* task schema: Add support for precompiled Android tests.

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,johnstiles@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 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-05-20 06:44:22 +00:00
Dan Field
f9b687885e [Impeller] avoid creating multiple concurrent message loops for Andorid Vulkan (flutter/engine#42146)
Fixes https://github.com/flutter/flutter/issues/127160

We should avoid creating multiple message loops that each have as many threads as processors on the machine.
2023-05-20 03:41:18 +00:00
Jackson Gardner
8812268345 Implement ImageFilter/ColorFilter/MaskFilter in Skwasm (flutter/engine#42088)
This implements https://github.com/flutter/flutter/issues/126342

This implements `ImageFilter`, `ColorFilter` and `MaskFilter` in Skwasm. This includes support on the `Paint` object, as well as the `SceneBuilder` layers that use these types.
2023-05-20 00:46:10 +00:00
gaaclarke
d18ae43605 [Impeller] Made other vulkan objects cleanup properly. (flutter/engine#42113)
fixes https://github.com/flutter/flutter/issues/127058

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-05-20 00:38:19 +00:00
ColdPaleLight
026967383a [Impeller] Fix the issue that 'coverage_coords' is incorrectly calculated in 'FillPathGeometry::GetPositionUVBuffer' (flutter/engine#42155)
fix https://github.com/flutter/flutter/issues/127183

## without patch
![3Q7pxQTjei](https://github.com/flutter/engine/assets/31977171/5d7ce98a-afef-4d42-96a4-b3524345e69a)
## whti patch
![LRG6o1t9mm](https://github.com/flutter/engine/assets/31977171/66c9c3f9-762c-4dc8-b10b-cde179a7bbc4)
2023-05-19 23:45:22 +00:00
chunhtai
dcfd92f566 Overrides accessibilityScrollToVisible (flutter/engine#42047)
fixes https://github.com/flutter/flutter/issues/61624

Observed behavior is that this method is called when an item is swipe-to-focusd in VoiceOver.

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-05-19 22:02:05 +00:00
Chris Bracken
206d0974f7 [macOS] Extract PlatformView mutator clip updating (flutter/engine#42164)
Extracts `updatePathClipViewsWithPaths:origin:` which updates the stack of AppKit clip views hosting the platform view.

This change is a cleanup change for readability and makes no semantic changes to how mutator views are applied. Existing unit tests in [FlutterMutatorViewTest.mm](https://github.com/flutter/engine/blob/main/shell/platform/darwin/macos/framework/Source/FlutterMutatorViewTest.mm) are expected to pass without changes.

This is refactoring prior to applying a fix for rotation handling.

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

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-05-19 19:37:11 +00:00
htoor3
1046b076ce [web] Fix event offset for transformed widgets (and text input nodes). (flutter/engine#41870)
Text inputs have moved outside of the shadowDOM and are now using the pointer event offset calculation algorithm that platform views use.  However, transforms (e.g. scaling) applied to the input element aren't currently accounted for, which leads to incorrect offsets and clicks being registered inaccurately.

This PR attempts to transform those offset coordinates using the transform matrix data that is included in the geometry information sent over to `text_editing.dart` from the framework.

## Issues

* Fixes https://github.com/flutter/flutter/issues/125948 (text editing)
* Fixes https://github.com/flutter/flutter/issues/126661 (platform view scaling)
* Fixes https://github.com/flutter/flutter/issues/126754

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-05-19 19:25:58 +00:00
Zachary Anderson
079f084e48 Roll goldctl to f808dcff91b221ae313e540c09d79696cd08b8de (flutter/engine#42166)
Engine PR to match https://github.com/flutter/flutter/pull/127218
2023-05-19 19:06:49 +00:00
Brandon DeRosier
d650e423f1 [Impeller] Limit blur kernel to 1000x1000 pixels (flutter/engine#42154)
Resolves https://github.com/flutter/flutter/issues/127151.

This is the same internal limit that Skia uses.
2023-05-19 11:34:07 -07:00
skia-flutter-autoroll
215d6aad06 Roll Skia from 0a63dbe8cd15 to 7202b405f061 (1 revision) (flutter/engine#42162)
https://skia.googlesource.com/skia.git/+log/0a63dbe8cd15..7202b405f061

2023-05-19 jvanverth@google.com [graphite] Add some additional texture formats for Dawn backend.

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,johnstiles@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 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-05-19 17:29:05 +00:00
Jonah Williams
1c923dd421 [Impeller] Fix 1d threadgroup dispatch size, Implement drawPoint geometry computation with compute, fallback to specialized CPU. (flutter/engine#42060)
Compute shader implementation of https://github.com/flutter/engine/pull/41803

I found this to be generally more straightforward, and we can revisit the vertex shader approach with GLES.

Benchmark is pending here: https://github.com/flutter/flutter/pull/126728

Note: rendering behavior is identical even though this is now a single draw call. This is becuase strokes have overdraw prevention enabled by default, while this new contents does not

![image](https://github.com/flutter/engine/assets/8975114/29d84e0d-7be6-426a-b5e3-5226c1953a47)
2023-05-19 17:25:53 +00:00
Jonah Williams
edf62bb82b [Impeller] use host image upload path on simulator (flutter/engine#42161)
This might help with https://github.com/flutter/flutter/issues/126768#issuecomment-1554469333
2023-05-19 16:51:51 +00:00
hellohuanlin
ebe810b435 [floating_cursor_selection]add some comments on the tricky part (flutter/engine#42136)
Many parts of the floating cursor selection feature is pretty tricky. Some took me a while to figure out. So I added some comments to explain a bit for future readers. 

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

https://github.com/flutter/flutter/issues/30476

*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-05-19 16:42:58 +00:00
skia-flutter-autoroll
17085a8d3d Roll Skia from 9cc604b2c3ed to 0a63dbe8cd15 (1 revision) (flutter/engine#42159)
https://skia.googlesource.com/skia.git/+log/9cc604b2c3ed..0a63dbe8cd15

2023-05-19 ccameron@chromium.org SkJpegCodec: Fix error in gainmap extraction

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,johnstiles@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 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-05-19 15:08:05 +00:00
Mouad Debbar
281dea65ad [web] Cleanup Vector3 (flutter/engine#42096)
We have limited use of `Vector3` in the engine, so I converted it into a record and removed almost all of its methods.

Converting it to a record also means it's not mutable anymore, which is a positive in my book. That required a few minor changes in `Matrix4` but nothing major.
2023-05-19 14:05:29 +00:00
skia-flutter-autoroll
df8fa2a9aa Roll Skia from 37e853069c04 to 9e38597c3757 (1 revision) (flutter/engine#42148)
https://skia.googlesource.com/skia.git/+log/37e853069c04..9e38597c3757

2023-05-19 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia Infra from 588114bc957f to b6ae2e881c8b (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,johnstiles@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 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-05-19 07:25:01 +00:00
Bruno Leroux
72e6f7f567 [Android] Fix BasicMessageChannel.resizeChannelBuffer (flutter/engine#41982)
## Description

This PR updates `BasicMessageChannel.resizeChannelBuffer` implementation. Previous implementation builds a wrong `ByteBuffer` and was not tested so it is difficult to know when it stopped working.  

## Related Issue

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

## Tests

Adds 1 test.
2023-05-19 03:46:05 +00:00
Yegor
1811689d04 [web:a11y] support dialogs described by descendants (flutter/engine#42108)
Add a new `RouteName` semantic role for nodes with `namesRoute` set without a `scopesRoute`. Such nodes provide a description for the nearest ancestor dialog node. The web equivalent of this is when an element `role="dialog"` is described by pointing to one of its children using `aria-labelledby` and `aria-describedby`. Here's an example:

```
<div
  role="dialog"
  aria-labelledby="dialog1Title"
  aria-describedby="dialog1Desc">
  <h2 id="dialog1Title">Your personal details were successfully updated</h2>
  <p id="dialog1Desc">
    You can change your details at any time in the user account section.
  </p>
  <button>Close</button>
</div>
```

([Source](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/dialog_role))

Flutter currently does not distinguish between "labelled by" and "described by". In my testing, only `aria-describedby` resulted in an announcement of the dialog's description upon opening. `aria-labelledby` required that the dialog element itself be focusable, which is not the case. So I went with `aria-describedby`.

Fixes https://github.com/flutter/flutter/issues/126030
2023-05-19 00:25:19 +00:00
chunhtai
750599021c Makes android embedding to send full uri (flutter/engine#41836)
related https://github.com/flutter/flutter/issues/100624

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-05-18 23:38:17 +00:00
skia-flutter-autoroll
899c5f2304 Roll Skia from 2ffed2e4c6f8 to 8931359a74f1 (4 revisions) (flutter/engine#42139)
https://skia.googlesource.com/skia.git/+log/2ffed2e4c6f8..8931359a74f1

2023-05-18 johnstiles@google.com Always add braces when writing child statements in WGSL.
2023-05-18 johnstiles@google.com Eliminate DSLFunction entirely.
2023-05-18 michaelludwig@google.com [skif] Delete legacy SkColorFilterImageFilter impl
2023-05-18 michaelludwig@google.com [skif] Don't evaluate empty-source filters for SkNoDrawCanvases

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,johnstiles@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 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-05-18 23:32:30 +00:00
skia-flutter-autoroll
a8b4c20910 Roll Skia from ac47a05bf253 to 2ffed2e4c6f8 (8 revisions) (flutter/engine#42137)
https://skia.googlesource.com/skia.git/+log/ac47a05bf253..2ffed2e4c6f8

2023-05-18 lovisolo@google.com [bazel] Add "label" part to "BazelTest" task schema.
2023-05-18 robertphillips@google.com Expand Protected content tests
2023-05-18 brianosman@google.com Fix some anti-patterns in SkIcoCodec, unique_ptr assignment
2023-05-18 johnstiles@google.com Eliminate DSLVar.h entirely.
2023-05-18 johnstiles@google.com Remove unused DSLVar types.
2023-05-18 jvanverth@google.com [graphite] Add premul to alpha YUV images
2023-05-18 johnstiles@google.com Remove DSLCore entirely.
2023-05-18 johnstiles@google.com Remove ErrorReporter functions from DSLCore.

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,johnstiles@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 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-05-18 21:37:48 +00:00
Chris Bracken
49afcc0101 [macOS] Refactor PlatformView mutators (flutter/engine#42130)
This refactors `[FlutterMutatorView applyLayer:]` to split out orthogonal behaviour into smaller functions for better readability/maintainability.

Extracts:
* General transform composition to CATransformFromMutations
* Opacity handling
* MasterClip computation
* RoundedRectClip computation

This change is a cleanup change for readability and makes no semantic changes to how mutator views are applied. Existing unit tests in [FlutterMutatorViewTest.mm](https://github.com/flutter/engine/blob/main/shell/platform/darwin/macos/framework/Source/FlutterMutatorViewTest.mm) are expected to pass without changes.

This is refactoring prior to applying a fix for rotation handling.

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

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-05-18 20:41:05 +00:00
Bruno Leroux
d35d4dc958 [Android] Return keyboard pressed state (flutter/engine#41695)
## Description

This PR updates the Android engine in order to answer to keyboard pressed state queries from the framework (as implemented in https://github.com/flutter/flutter/pull/122885).

## Related Issue

Fixes https://github.com/flutter/flutter/issues/122441
Android engine implementation for https://github.com/flutter/flutter/issues/87391

## Tests

Adds 2 tests.
2023-05-18 20:35:21 +00:00
chunhtai
d21dc12d2f Make iOS embedding to send full uri for deeplinks (flutter/engine#41992)
related https://github.com/flutter/flutter/issues/100624

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-05-18 20:31:17 +00:00
Kevin Chisholm
0c46b09bbf Add configuration for automating release notes (flutter/engine#42132)
GitHub's automated changelog generation allows teams to setup a configuration file to determine how these changelogs will be generated.  

A similar file is available in flutter/flutter for release note generation.  As tags have been added to flutter/engine, we now have the ability to generate release notes in the same fashion.
2023-05-18 18:01:06 +00:00
skia-flutter-autoroll
fa4aa93e8d Roll Skia from 62841fa33e95 to ac47a05bf253 (9 revisions) (flutter/engine#42131)
https://skia.googlesource.com/skia.git/+log/62841fa33e95..ac47a05bf253

2023-05-18 jamesgk@google.com [graphite] Enable dual-src blending in Metal
2023-05-18 lovisolo@google.com [bazel] Add skia_android_unit_test macro.
2023-05-18 lovisolo@google.com [bazel] Reland reverted CLs due to broken G3 roll.
2023-05-18 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from b35367eac089 to f7b24ac464f9 (4 revisions)
2023-05-18 brianosman@google.com Fix SkString's move constructor
2023-05-18 ccameron@chromium.org HDR gainmaps: Require Version 1.0
2023-05-18 herb@google.com Split the cubic and quad into separate fuzzers
2023-05-18 skia-autoroll@skia-public.iam.gserviceaccount.com Roll SK Tool from 588114bc957f to 64efc3ca9c0e
2023-05-18 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from 9de2cfb06593 to bcbf23c5f184 (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,johnstiles@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 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-05-18 17:59:18 +00:00
Jesse Seales
6e5c919f89 Vuln scan github actions permissions (flutter/engine#42099)
The lack of permissions on the vulnerability scanning github actions
yaml will cause all runs to fail at the upload SARIF to security tab
stage. This change adds the permissions for that stage to succeed.

A successful test run is can be seen here:
https://github.com/flutter/engine/actions/runs/5006551387/jobs/8971979211

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

## Pre-launch Checklist

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

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

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#overview
[Tree Hygiene]: https://github.com/flutter/flutter/wiki/Tree-hygiene
[Flutter Style Guide]:
https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo
[C++, Objective-C, Java style guides]:
https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
[testing the engine]:
https://github.com/flutter/flutter/wiki/Testing-the-engine
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#handling-breaking-changes
[Discord]: https://github.com/flutter/flutter/wiki/Chat
2023-05-18 12:08:56 -04:00
skia-flutter-autoroll
b761a2d297 Roll Skia from ad8fa4a38668 to 62841fa33e95 (2 revisions) (flutter/engine#42123)
https://skia.googlesource.com/skia.git/+log/ad8fa4a38668..62841fa33e95

2023-05-18 skia-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 28718d8b4108 to f549d5e6c663 (1 revision)
2023-05-18 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia Infra from 8e2c784328a9 to 588114bc957f (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,johnstiles@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 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-05-18 16:05:51 +00:00
skia-flutter-autoroll
c3335ebe05 Roll Skia from ffa425bacfc4 to caff30d16ae7 (29 revisions) (flutter/engine#42116)
https://skia.googlesource.com/skia.git/+log/ffa425bacfc4..caff30d16ae7

2023-05-17 johnstiles@google.com Simplify if-else chain in releaseProgram.
2023-05-17 johnstiles@google.com Move Parser::Checkpoint out of the header.
2023-05-17 bungeman@google.com Regularize DirectWrite format handling
2023-05-17 bungeman@google.com Reorganize DirectWrite glyph representation selection
2023-05-17 michaelludwig@google.com [skif] Don't intersect against desired output unnecessarily
2023-05-17 johnstiles@google.com Migrate DSLCore::ReleaseProgram into Compiler.
2023-05-17 johnstiles@google.com Remove Declare(DSLGlobalVar) from DSLCore.
2023-05-17 johnstiles@google.com Eliminate src/sksl/dsl/priv directory.
2023-05-17 johnstiles@google.com Eliminate DSLWriter entirely.
2023-05-17 johnstiles@google.com Migrate DSLWriter::Var to VarDeclaration::Convert.
2023-05-17 nicolettep@google.com [graphite] Create & cache descriptor sets
2023-05-17 michaelludwig@google.com [skif] Update SkShaderImageFilter to use FilterResult
2023-05-17 jmbetancourt@google.com [skottie] add proxy to PropertyObserver
2023-05-17 brianosman@google.com Revert "Add src/cityhash"
2023-05-17 johnstiles@google.com Remove unreferenced header DSL.h.
2023-05-17 jamesgk@google.com [graphite] Enable framebuffer fetch on Metal
2023-05-17 jamesgk@google.com [graphite] Use framebuffer fetch when available
2023-05-17 kjlubick@google.com Move SkStrikeSpec::MakeSDFT to src/text/gpu
2023-05-17 kjlubick@google.com Enforce IWYU on SkStrike* and src/text/*
2023-05-17 brianosman@google.com Add src/cityhash
2023-05-17 jvanverth@google.com [graphite] Fix YV12 colors.
2023-05-17 johnstiles@google.com Disallow calling DSLWriter::Var more than once.
2023-05-17 jmbetancourt@google.com [skottie] accept a proxy for SlotManager's ResourceProvider
2023-05-17 johnstiles@google.com Delete dead code in DSLWriter.
2023-05-17 brianosman@google.com Move SkChecksum.h from include/private to src/core
2023-05-17 johnstiles@google.com Add TArray::reserve_exact for exact-fit sizing.
2023-05-17 kjlubick@google.com Delete unused shim image factory code
2023-05-17 jvanverth@google.com [graphite] Fix encoded origin for YUVA textures.
2023-05-17 johnstiles@google.com Move symbol-table parameter setup inside FunctionDeclaration.

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,johnstiles@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 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-05-18 02:25:22 +00:00
Chris Bracken
871632b29b [macOS] Clean up PlatformView mutator scaling (flutter/engine#42110)
When applying platform view mutators, the mutations array includes a
transform from logical to physical coordinates. Since Cocoa deals only
in logical points, we inject a physical to logical coordinate transform
to counteract this.

Rather than applying this multiple times throughout the
`[FlutterMutatorView applyFlutterLayer]` method we gather a list of
transforms that includes the additional physical to logical scale
transform.

This change is a cleanup change for readability and makes no semantic
changes to how mutator views are applied. Existing unit tests in
[FlutterMutatorViewTest.mm](https://github.com/flutter/engine/blob/main/shell/platform/darwin/macos/framework/Source/FlutterMutatorViewTest.mm)
are expected to pass without changes.

## Pre-launch Checklist

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

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

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#overview
[Tree Hygiene]: https://github.com/flutter/flutter/wiki/Tree-hygiene
[Flutter Style Guide]:
https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo
[C++, Objective-C, Java style guides]:
https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
[testing the engine]:
https://github.com/flutter/flutter/wiki/Testing-the-engine
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#handling-breaking-changes
[Discord]: https://github.com/flutter/flutter/wiki/Chat
2023-05-17 17:11:51 -07:00
Xilai Zhang
3b3f315061 [g3 roll] Revert "add non-rendering operation culling to DisplayListBuilder" (flutter/engine#42097)
temporary revert of flutter/engine#41463

context: b/283038609
2023-05-17 23:48:04 +00:00
skia-flutter-autoroll
be1a1d5cfe Roll Fuchsia Linux SDK from YrEDYUB9NKhirgo5s... to SDKw1RvH0dWiJXERo... (flutter/engine#42100)
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 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-05-17 19:56:04 +00:00
Jonah Williams
0b212a6348 [Impelller] fix flickering due to synchronization issues in compute tessellator. (flutter/engine#42076)
We must wait until the compute command buffer has completed before its safe to use the contents of that buffer. THis fixes the flickering I've observed when running the unit test locally.

Test only change, no impact to shipped code.
2023-05-17 18:57:15 +00:00
Renzo Olivares
79df264a52 [Android] Do not collapse text selection on shift key up (flutter/engine#42075)
Fixes https://github.com/flutter/flutter/issues/101569

This block of code was originally introduced in https://github.com/flutter/engine/pull/15560 , but removing it does not have any affect on the software text editing controls in GBoard.

Before this change
* shift + arrow right/left selection would collapse after releasing the shift key. 
* shift + mouse click to expand selection would collapse after releasing the shift key.

After this change
* shift key up no longer collapses the selection.
2023-05-17 18:53:03 +00:00
Mouad Debbar
46598122f7 [web] Simplify handling of custom url strategy (flutter/engine#42043)
Issue: https://github.com/flutter/flutter/issues/126831
2023-05-17 18:27:14 +00:00
Dan Field
ae728938fc Report displays for macOS (flutter/engine#41998)
https://github.com/flutter/flutter/issues/125939 and https://github.com/flutter/flutter/issues/125938 for macOS

fixes https://github.com/flutter/flutter/issues/121352
2023-05-17 17:17:23 +00:00
Dan Field
85ba96cbbb Fix bounds when painting style is stroke width for image shaders (flutter/engine#42052)
Fixes https://github.com/flutter/flutter/issues/126739

When we're sampling from the texture, we need to sample from its origin regardless of how much offset the stroke width gives to the path.
2023-05-17 17:02:18 +00:00
Jesse Seales
d41a0690bc Re-Enable Vulnerability 3p Scanning Workflow (flutter/engine#42049)
After migrating to standalone yaml (rather than included as a part of the scorecards yaml), the vuln scanning workflow needs to be re-enabled with sarif results uploading to the dashboard under the security tab. A successful test run of this workflow can be seen at https://github.com/flutter/engine/actions/runs/4982210161 (in linked run, fails to upload SARIF file given lack of permissions on any branch besides default)

This change also adds use of cwd in python subprocess commands rather than using directory prefix in command string.

Addresses b/280294707

*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-05-17 16:22:58 +00:00
skia-flutter-autoroll
d0f2fadc93 Roll Skia from c3473c32bb35 to ffa425bacfc4 (14 revisions) (flutter/engine#42095)
https://skia.googlesource.com/skia.git/+log/c3473c32bb35..ffa425bacfc4

2023-05-17 robertphillips@google.com Create Protected EGL contexts when possible on Android
2023-05-17 johnstiles@google.com Delete dead code in DSLStatement.
2023-05-17 johnstiles@google.com Add Block::MakeCompoundStatement.
2023-05-17 jvanverth@google.com [graphite] Remove spurious text method.
2023-05-17 kjlubick@google.com Manually Roll Dawn from 89a3dac88297 to 83c5c8b15157 (41 revisions)
2023-05-17 johnstiles@google.com Remove unnecessary return value from Parser::structVarDeclaration.
2023-05-17 johnstiles@google.com Restructure AddVarDeclaration to not require friendship.
2023-05-17 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 32a999c86b9c to 7d17e63c2439 (11 revisions)
2023-05-17 michaelludwig@google.com [skif] Shore up getOutputLayerBounds() for old filter definitions
2023-05-17 johnstiles@google.com Move force-noinline support out of DSL.
2023-05-17 michaelludwig@google.com [skif] Update SkPictureImageFilter to use FilterResult
2023-05-17 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from 25def1a0da1c to 9de2cfb06593 (17 revisions)
2023-05-17 jvanverth@google.com [graphite] Add YUVA shader.
2023-05-17 skia-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from a62e8dbc3467 to 28718d8b4108 (2 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,johnstiles@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 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-05-17 16:20:09 +00:00
gaaclarke
837b7df872 [Impeller] Turned on wide gamut support by default. (#39801) (flutter/engine#41965)
relands flutter/engine#39801

forward fix for internal customers at cl/531288297

## Pre-launch Checklist

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

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

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#overview
[Tree Hygiene]: https://github.com/flutter/flutter/wiki/Tree-hygiene
[Flutter Style Guide]:
https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo
[C++, Objective-C, Java style guides]:
https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
[testing the engine]:
https://github.com/flutter/flutter/wiki/Testing-the-engine
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#handling-breaking-changes
[Discord]: https://github.com/flutter/flutter/wiki/Chat
2023-05-17 09:11:42 -07:00
skia-flutter-autoroll
8bda466119 Roll Skia from 88d7a68694d9 to c3473c32bb35 (2 revisions) (flutter/engine#42093)
https://skia.googlesource.com/skia.git/+log/88d7a68694d9..c3473c32bb35

2023-05-17 skia-autoroll@skia-public.iam.gserviceaccount.com Roll SK Tool from 8e2c784328a9 to ee89bbd2db69
2023-05-17 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia Infra from cbe6e1312c42 to 8e2c784328a9 (22 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,johnstiles@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 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-05-17 14:24:10 +00:00
Brandon DeRosier
88c5ed3106 [Impeller] Use 32 bit Gaussian function in the 2-pass blur (flutter/engine#42069)
Resolves https://github.com/flutter/flutter/issues/126487.

Increases the 2-pass blur quality and distribution limit.

It turns out sigma was breaking down beyond ~255 (moderately high, but
not unreasonable for users to rely on). The Gaussian function computes
sigma^2, and half precision floats only have 5 bit exponents and
overflow for numbers above 65k.

Coincidentally, this also returns us to a state where we look a lot more
like Skia's blurs for larger blur sigmas. Medium blurs have much less
visual banding (although it's still there if you look closely). I
suspect half precision isn't really enough for tracking the integral.

Unfortunately, this means our SIMD pipelining isn't going to be as good.
I'll be interested in watching the blur-driven benchmarks for the perf
hit.
2023-05-16 15:56:03 -07:00
skia-flutter-autoroll
ec7495484c Roll Skia from 9b0e912a1cb9 to 88d7a68694d9 (13 revisions) (flutter/engine#42081)
https://skia.googlesource.com/skia.git/+log/9b0e912a1cb9..88d7a68694d9

2023-05-16 brianosman@google.com Revert "Reland "Add third_party/cityhash""
2023-05-16 johnstiles@google.com Switch parameter list from vector<> to TArray and SkSpan.
2023-05-16 brianosman@google.com Move ProxyHash implementation to cpp
2023-05-16 sunnyps@chromium.org graphite: Implement drawSlug
2023-05-16 johnstiles@google.com Remove unused DSLExpression ctors.
2023-05-16 penghuang@chromium.org Fix link errors in component build
2023-05-16 brianosman@google.com Reland "Add third_party/cityhash"
2023-05-16 brianosman@google.com Remove SkDrawable::newPictureSnapshot entirely
2023-05-16 johnstiles@google.com Reduce usage of ThreadContext when easy alternatives exist.
2023-05-16 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from f3e8446466d8 to 32a999c86b9c (2 revisions)
2023-05-16 skia-autoroll@skia-public.iam.gserviceaccount.com Roll SK Tool from e0fb1f506c8b to c9c8d1cba3dc
2023-05-16 kjlubick@google.com Add include to fix client
2023-05-16 johnstiles@google.com Remove DSLCore handling of Interface Blocks.

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,johnstiles@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 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-05-16 22:49:07 +00:00
Jackson Gardner
9d87a21795 Use client ICU data with skwasm. (flutter/engine#42018)
This implements https://github.com/flutter/flutter/issues/126340

For now, I am keeping this implementation simple without any extra caching. I may add caching later based on profiling results.
2023-05-16 22:07:16 +00:00
Zachary Anderson
df51526b1d Revert "[ios_platform_view] only recycle maskView when the view is applying mutators" (flutter/engine#42080)
Reverts flutter/engine#41573

Crashing on Framework CI
2023-05-16 14:32:18 -07:00
Greg Spencer
f4ac622197 [macOS] Wait for binding to be ready before requesting exits from framework (flutter/engine#41753)
Similar to https://github.com/flutter/engine/pull/41733 and
https://github.com/flutter/engine/pull/41782, this causes the macos
embedding to wait until it hears that the scheduler binding has
registered itself before proceeding to send termination requests to the
framework.

This allows applications that don't use the framework (just use
`dart:ui` directly) to exit automatically when the last window is
closed. Without this change, the last window closes, but the app does
not exit.

Depends on framework PR https://github.com/flutter/flutter/pull/126075
landing first.
2023-05-16 14:29:32 -07:00