22410 Commits

Author SHA1 Message Date
skia-flutter-autoroll
e28eacec2b Roll Skia from d22106cc40a0 to bab82f14da1a (7 revisions) (flutter/engine#42420)
https://skia.googlesource.com/skia.git/+log/d22106cc40a0..bab82f14da1a

2023-05-30 brianosman@google.com Switch back to Skia CPU defines in SkVx.h
2023-05-30 ccameron@chromium.org SkJpegMetadataDecoder: Add Exif, ICC, and MPF support
2023-05-30 johnstiles@google.com Add WGSL support for inner assignment-expressions.
2023-05-30 jmbetancourt@google.com create new slot manager object for internal skottie builder
2023-05-30 herb@google.com Update discriminant bounds comment
2023-05-30 skia-autoroll@skia-public.iam.gserviceaccount.com Manual roll vulkan-deps from b47e47fa1cc0 to 6bc45f9cfde3 (2 revisions)
2023-05-30 kjlubick@google.com Skip compiling fontations test in WASM

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,robertphillips@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-30 17:58:56 +00:00
Jonah Williams
ca82b02c1f [Impeller] delete position_uv, tiled_texture vertex shaders. (flutter/engine#42416)
tiled_texture.vert is identical to texture.vert, and position_uv is unused entirely.
2023-05-30 17:49:04 +00:00
Brandon DeRosier
d8c494c3d8 [Impeller] Bias towards sampling from lower mip levels (flutter/engine#42386)
Resolves https://github.com/flutter/flutter/issues/127174.

Sets the same mip bias as Skia uses. Biases towards sampling from lower
(larger) mip levels -- the tradeoff is a slightly higher cache miss rate
in exchange for sharper/less blurry bilinear min-filtered images.

This makes scaled down images render identically between Impeller and
Skia.
2023-05-30 08:44:48 -07:00
skia-flutter-autoroll
7012c50f7c Roll Skia from 91360f7433b8 to b0fd9b595e50 (1 revision) (flutter/engine#42407)
https://skia.googlesource.com/skia.git/+log/91360f7433b8..b0fd9b595e50

2023-05-30 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia Infra from ec598572ad0c to c721ed541e6d (1 revision)

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,robertphillips@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-30 07:11:39 +00:00
Brandon DeRosier
d21cfbb514 Fix lint failure in ImageDecoderImpeller (flutter/engine#42402)
This lint started failing on some builders a few hours ago.

https://ci.chromium.org/p/flutter/builders/prod/Linux%20Host%20clang-tidy
2023-05-29 22:33:31 +00:00
dependabot[bot]
089b851454 Bump github/codeql-action from 2.3.3 to 2.3.5 (flutter/engine#42394)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2.3.3 to 2.3.5.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/github/codeql-action/blob/main/CHANGELOG.md">github/codeql-action's changelog</a>.</em></p>
<blockquote>
<h1>CodeQL Action Changelog</h1>
<h2>[UNRELEASED]</h2>
<p>No user facing changes.</p>
<h2>2.3.5 - 25 May 2023</h2>
<ul>
<li>Allow invalid URIs to be used as values to <code>artifactLocation.uri</code> properties. This reverses a change from <a href="https://redirect.github.com/github/codeql-action/pull/1668">#1668</a> that inadvertently led to stricter validation of some URI values. <a href="https://redirect.github.com/github/codeql-action/pull/1705">#1705</a></li>
<li>Gracefully handle invalid URIs when fingerprinting. <a href="https://redirect.github.com/github/codeql-action/pull/1694">#1694</a></li>
</ul>
<h2>2.3.4 - 24 May 2023</h2>
<ul>
<li>Updated the SARIF 2.1.0 JSON schema file to the latest from <a href="123e95847b/Schemata/sarif-schema-2.1.0.json">oasis-tcs/sarif-spec</a>. <a href="https://redirect.github.com/github/codeql-action/pull/1668">#1668</a></li>
<li>We are rolling out a feature in May 2023 that will disable Python dependency installation for new users of the CodeQL Action. This improves the speed of analysis while having only a very minor impact on results. <a href="https://redirect.github.com/github/codeql-action/pull/1676">#1676</a></li>
<li>We are improving the way that <a href="https://github.com/github/codeql-action/releases">CodeQL bundles</a> are tagged to make it possible to easily identify bundles by their CodeQL semantic version. <a href="https://redirect.github.com/github/codeql-action/pull/1682">#1682</a>
<ul>
<li>As of CodeQL CLI 2.13.4, CodeQL bundles will be tagged using semantic versions, for example <code>codeql-bundle-v2.13.4</code>, instead of timestamps, like <code>codeql-bundle-20230615</code>.</li>
<li>This change does not affect the majority of workflows, and we will not be changing tags for existing bundle releases.</li>
<li>Some workflows with custom logic that depends on the specific format of the CodeQL bundle tag may need to be updated. For example, if your workflow matches CodeQL bundle tag names against a <code>codeql-bundle-yyyymmdd</code> pattern, you should update it to also recognize <code>codeql-bundle-vx.y.z</code> tags.</li>
</ul>
</li>
<li>Remove the requirement for <code>on.push</code> and <code>on.pull_request</code> to trigger on the same branches. <a href="https://redirect.github.com/github/codeql-action/pull/1675">#1675</a></li>
</ul>
<h2>2.3.3 - 04 May 2023</h2>
<ul>
<li>Update default CodeQL bundle version to 2.13.1. <a href="https://redirect.github.com/github/codeql-action/pull/1664">#1664</a></li>
<li>You can now configure CodeQL within your code scanning workflow by passing a <code>config</code> input to the <code>init</code> Action. See <a href="https://aka.ms/code-scanning-docs/config-file">Using a custom configuration file</a> for more information about configuring code scanning. <a href="https://redirect.github.com/github/codeql-action/pull/1590">#1590</a></li>
</ul>
<h2>2.3.2 - 27 Apr 2023</h2>
<p>No user facing changes.</p>
<h2>2.3.1 - 26 Apr 2023</h2>
<p>No user facing changes.</p>
<h2>2.3.0 - 21 Apr 2023</h2>
<ul>
<li>Update default CodeQL bundle version to 2.13.0. <a href="https://redirect.github.com/github/codeql-action/pull/1649">#1649</a></li>
<li>Bump the minimum CodeQL bundle version to 2.8.5. <a href="https://redirect.github.com/github/codeql-action/pull/1618">#1618</a></li>
</ul>
<h2>2.2.12 - 13 Apr 2023</h2>
<ul>
<li>Include the value of the <code>GITHUB_RUN_ATTEMPT</code> environment variable in the telemetry sent to GitHub. <a href="https://redirect.github.com/github/codeql-action/pull/1640">#1640</a></li>
<li>Improve the ease of debugging failed runs configured using <a href="https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning-for-a-repository#configuring-code-scanning-automatically">default setup</a>. The CodeQL Action will now upload diagnostic information to Code Scanning from failed runs configured using default setup. You can view this diagnostic information on the <a href="https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-the-tool-status-page">tool status page</a>. <a href="https://redirect.github.com/github/codeql-action/pull/1619">#1619</a></li>
</ul>
<h2>2.2.11 - 06 Apr 2023</h2>
<p>No user facing changes.</p>
<h2>2.2.10 - 05 Apr 2023</h2>
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="0225834cc5"><code>0225834</code></a> Merge pull request <a href="https://redirect.github.com/github/codeql-action/issues/1706">#1706</a> from github/update-v2.3.5-d3314cca2</li>
<li><a href="15f9b00614"><code>15f9b00</code></a> Apply suggestions from code review</li>
<li><a href="ff82fd0736"><code>ff82fd0</code></a> Update changelog for v2.3.5</li>
<li><a href="d3314cca22"><code>d3314cc</code></a> Merge pull request <a href="https://redirect.github.com/github/codeql-action/issues/1705">#1705</a> from github/aeisenberg/location-uri-schema-fix</li>
<li><a href="42add7b4d7"><code>42add7b</code></a> Update changelog</li>
<li><a href="9c5706e1a2"><code>9c5706e</code></a> Avoid throwing validation error on invalid URIs</li>
<li><a href="3912995667"><code>3912995</code></a> Merge pull request <a href="https://redirect.github.com/github/codeql-action/issues/1704">#1704</a> from github/henrymercer/contributions-updates</li>
<li><a href="8d7f61b8f2"><code>8d7f61b</code></a> Update npm version</li>
<li><a href="50bc388cfc"><code>50bc388</code></a> Update Node version</li>
<li><a href="4a409ace8f"><code>4a409ac</code></a> Link to CONTRIBUTING doc from README</li>
<li>Additional commits viewable in <a href="29b1f65c5e...0225834cc5">compare view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github/codeql-action&package-manager=github_actions&previous-version=2.3.3&new-version=2.3.5)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

</details>
2023-05-29 09:38:06 +00:00
dependabot[bot]
5c095defd3 Bump actions/setup-python from 4.6.0 to 4.6.1 (flutter/engine#42395)
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 4.6.0 to 4.6.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/actions/setup-python/releases">actions/setup-python's releases</a>.</em></p>
<blockquote>
<h2>v4.6.1</h2>
<h2>What's Changed</h2>
<ul>
<li>Fix <code>allow-prereleases</code> sample configuration by <a href="https://github.com/mayeut"><code>@​mayeut</code></a> in <a href="https://redirect.github.com/actions/setup-python/pull/615">actions/setup-python#615</a></li>
<li>Fix a incorrect link advanced-usage.md by <a href="https://github.com/siyuan0322"><code>@​siyuan0322</code></a> in <a href="https://redirect.github.com/actions/setup-python/pull/657">actions/setup-python#657</a></li>
<li>Remove implicit dependency by <a href="https://github.com/nikolai-laevskii"><code>@​nikolai-laevskii</code></a> in <a href="https://redirect.github.com/actions/setup-python/pull/668">actions/setup-python#668</a></li>
<li>Automatic update of configuration files from 05/23/2023 by <a href="https://github.com/github-actions"><code>@​github-actions</code></a> in <a href="https://redirect.github.com/actions/setup-python/pull/671">actions/setup-python#671</a></li>
<li>Add warning for python 2.7 on release/v4 by <a href="https://github.com/dmitry-shibanov"><code>@​dmitry-shibanov</code></a> in <a href="https://redirect.github.com/actions/setup-python/pull/673">actions/setup-python#673</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/siyuan0322"><code>@​siyuan0322</code></a> made their first contribution in <a href="https://redirect.github.com/actions/setup-python/pull/657">actions/setup-python#657</a></li>
<li><a href="https://github.com/nikolai-laevskii"><code>@​nikolai-laevskii</code></a> made their first contribution in <a href="https://redirect.github.com/actions/setup-python/pull/668">actions/setup-python#668</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/actions/setup-python/compare/v4...v4.6.1">https://github.com/actions/setup-python/compare/v4...v4.6.1</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="bd6b4b6205"><code>bd6b4b6</code></a> Add warning for python 2.7 (<a href="https://redirect.github.com/actions/setup-python/issues/673">#673</a>)</li>
<li><a href="0cbcb9a3d7"><code>0cbcb9a</code></a> Merge pull request <a href="https://redirect.github.com/actions/setup-python/issues/668">#668</a> from akv-platform/disallow-implicit-dependencies</li>
<li><a href="669664dac1"><code>669664d</code></a> Merge branch 'tool-config-auto-update' into disallow-implicit-dependencies</li>
<li><a href="9cbf792a3c"><code>9cbf792</code></a> Update configuration files</li>
<li><a href="e732e40717"><code>e732e40</code></a> Update licenses</li>
<li><a href="a0d867bfa9"><code>a0d867b</code></a> Change http-client dependency to one matching previous version</li>
<li><a href="d99bed8b21"><code>d99bed8</code></a> Update license</li>
<li><a href="f71253fee3"><code>f71253f</code></a> Change to <code>@​action/http-client</code> version to the one that was used in the most re...</li>
<li><a href="b51c97f6e3"><code>b51c97f</code></a> Add eslint rule for disallowing implicit dependencies</li>
<li><a href="db9987b4c1"><code>db9987b</code></a> Fix a incorrect link advanced-usage.md (<a href="https://redirect.github.com/actions/setup-python/issues/657">#657</a>)</li>
<li>Additional commits viewable in <a href="57ded4d7d5...bd6b4b6205">compare view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions/setup-python&package-manager=github_actions&previous-version=4.6.0&new-version=4.6.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

</details>
2023-05-29 09:36:22 +00:00
skia-flutter-autoroll
7e25614b5e Roll Skia from f9794b94c518 to 3b86de3c85d0 (2 revisions) (flutter/engine#42392)
https://skia.googlesource.com/skia.git/+log/f9794b94c518..3b86de3c85d0

2023-05-29 skia-autoroll@skia-public.iam.gserviceaccount.com Roll SK Tool from ec598572ad0c to c721ed541e6d
2023-05-29 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia Infra from 9b8f1aed38ff to ec598572ad0c (10 revisions)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC bdero@google.com,brianosman@google.com,rmistry@google.com,robertphillips@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-29 07:13:12 +00:00
Zachary Anderson
879917b1e6 Revert "Adding app lifecycle notification for macOS and Linux, add hidden state." (flutter/engine#42384) 2023-05-28 00:02:58 -07:00
skia-flutter-autoroll
b396c0eff1 Roll Skia from 408059b57e25 to 643fae1b1559 (1 revision) (flutter/engine#42383)
https://skia.googlesource.com/skia.git/+log/408059b57e25..643fae1b1559

2023-05-27 drott@chromium.org [Fontations] External factory for instantiating Fontations typeface

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,scroggo@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-27 17:32:22 +00:00
skia-flutter-autoroll
da990f10c1 Roll Fuchsia Linux SDK from 2-z8tqXe3ZkKqeb3e... to quUGdiiyRbktsRim0... (flutter/engine#42382)
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-05-27 17:09:17 +00:00
Greg Spencer
2af9be9d97 Adding app lifecycle notification for macOS and Linux, add hidden state. (flutter/engine#40542)
## Description

This adds app lifecycle notification for macOS and Linux, and adds a new `hidden` state to the `AppLifecycleState` enum.

To be functional, this needs a corresponding framework change: https://github.com/flutter/flutter/pull/123274

## Related Issues
 - https://github.com/flutter/flutter/issues/30735

## Tests
 - Added tests for state changes.
2023-05-26 23:24:33 +00:00
skia-flutter-autoroll
a8fcc93b12 Roll Fuchsia Linux SDK from 9aZkaKhX4GslPUnbX... to 2-z8tqXe3ZkKqeb3e... (flutter/engine#42365)
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-05-26 22:51:56 +00:00
keyonghan
b5501f9a72 Fix ci yaml roller caused by incorrect format (flutter/engine#42364)
Follow up of https://github.com/flutter/engine/pull/42339
Fixes: https://github.com/flutter/flutter/issues/127709
2023-05-26 22:35:46 +00:00
Chris Bracken
19c02ddcd9 [macOS] Extract more PlatformViewMutator code (flutter/engine#42361)
This extracts an extra method from `[FlutterMutatorView applyFlutterLayer:]` to perform the final PlatformViewContainer and PlatformView re-nesting in the view stack, then apply transforms, and finally apply the outer axis-aligned master clip rect around the whole thing.

This is a refactoring for readability (primarily clearer parameterisation) and applies no semantic changes to the code. This is the last in a series of refactoring applied to this method.

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-26 22:14:42 +00:00
Zachary Anderson
5633d0d833 Enable bugprone-unchecked-optional-access, disable in files with warnings (flutter/engine#42359)
First part of https://github.com/flutter/flutter/issues/127701
2023-05-26 21:58:46 +00:00
skia-flutter-autoroll
9a5ec10306 Roll Skia from ac897edeb16a to 8d475ae01f09 (9 revisions) (flutter/engine#42363)
https://skia.googlesource.com/skia.git/+log/ac897edeb16a..8d475ae01f09

2023-05-26 kjlubick@google.com Remove SkTableColorFilter from public API
2023-05-26 skia-autoroll@skia-public.iam.gserviceaccount.com Manual roll Dawn from ab6a9b9906ca to a7207e9dcc0b (14 revisions)
2023-05-26 drott@chromium.org [Fontations] Remove middle gen/ path extension for cxxbridge output
2023-05-26 jvanverth@google.com [graphite] Add extraResourceRefs before adding commands to cmdBuffer.
2023-05-26 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 7fd101e2d93d to c5402967c768 (1 revision)
2023-05-26 brianosman@google.com Remove -fno-stack-check from SkOpts code on Mac
2023-05-26 herb@google.com Calculate a very accurate discriminant
2023-05-26 robertphillips@google.com [graphite] Remove another Ganesh dependency from the TiledTextureUtils
2023-05-26 cmumford@google.com Add show_includes GN build argument

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,scroggo@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-26 21:58:43 +00:00
Renzo Olivares
ea95b85e63 [macOS] Do not bounce editing state back to framework on setEditState (flutter/engine#42091)
Some context for this change https://github.com/flutter/flutter/issues/118642#issuecomment-1550864240 and https://github.com/flutter/flutter/issues/118759#issuecomment-1551906489 . Tldr, the use-case that this bouncing was originally introduced for in #13702 is no longer an issue.

This ack response is also not present on other desktop platforms or iOS.

Fixes [#118759](https://github.com/flutter/flutter/issues/118759) and [#118642](https://github.com/flutter/flutter/issues/118642)
2023-05-26 21:07:02 +00:00
Mouad Debbar
ad6f346f5f [web] Correct JS property name for baseUri (flutter/engine#42357)
Up to this point, whenever users use the `PathUrlStrategy`, they would be using `flutter_web_plugins`'s copy of `BrowserPlatformLocation` which has a [different implementation for `getBaseHref()`](9376a2ac60/packages/flutter_web_plugins/lib/src/navigation/url_strategy.dart (L235)). So we never hit the [implementation in the engine](d73aac2434/lib/web_ui/lib/ui_web/src/ui_web/navigation/platform_location.dart (L138)), meaning the bug was invisible.

Now that we are [removing](https://github.com/flutter/flutter/pull/126851) `BrowserPlatformLocation` from `flutter_web_plugins`, we are hitting the engine's implementation which contains the bug being solved in this PR.
2023-05-26 20:16:59 +00:00
gaaclarke
d73aac2434 Started executing vulkan unit tests with validation on macos (flutter/engine#42337)
fixes https://github.com/flutter/flutter/issues/127634

This PR depends on a buildroot change at https://github.com/flutter/buildroot/pull/737

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-05-26 19:05:19 +00:00
Dan Field
83b6fa4ff7 [Impeller] Avoid encoding metal commands while the GPU is unavailable when decoding images. (flutter/engine#42349)
Fixes https://github.com/flutter/flutter/issues/126878

This disables device private upload on iOS when backgrounded, and disables mipmap generation when backgrounded.

We don't have a good way to test the core problem in this repo because it only reproduces on physical iOS hardware - simulators don't really care if you do this stuff in the background.

I'll write a devicelab test in the framework to capture this. In the mean time it can be reviewed.

We could consider making the IOManager a shared_ptr instead of having an fml::WeakPtr and that'd clean up some of the extra arguments to engine construction - or we could consider vending the sync switch from impeller::Context unconditionally, but it's pretty iOS specific...
2023-05-26 18:46:33 +00:00
Mouad Debbar
8259db4b30 [web] Use the new js_util.callMethod(Object, Object) (flutter/engine#42352)
Now that `js_util.callMethod` can take an `Object` as a method name, we can use it directly for methods that are accessed through a `Symbol`.
2023-05-26 18:31:47 +00:00
Jackson Gardner
30a56394c9 Don't use a factory constructor on the finalization registry. (flutter/engine#42350)
The factory constructor breaks the Google3 build for some reason. See b/284478971
2023-05-26 17:56:05 +00:00
godofredoc
afe56803a3 Checkout android and emsdk deps in linux. (flutter/engine#42339)
This is to optimize the caches for builders that require those dependencies.

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

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-05-26 17:20:38 +00:00
Hassan
f0e2596c5c [web] - Fix autofill group input ordering (flutter/engine#42268)
Ordering of input elements inside of the DOM tree for autofill groups does not reflect the order of the form rendered on screen.  This is causing some issues with password managers and autofill, specifically Bitwarden.

We are currently always appending the currently focused input element to the end of the form. 

This leads to a tree that appears out of order:
<img width="354" alt="Screenshot 2023-05-23 at 2 57 37 PM" src="https://github.com/flutter/engine/assets/110993981/7e90a93f-5522-4482-8fb6-a1607b403d10">

This fix is tracking the position of where the focused input node should be inserted and inserting it there, rather than always at the end of the form.  Once the tree is ordered correctly, Bitwarden's autofill logic works in Flutter forms. 

Tree order after fix:
<img width="502" alt="Screenshot 2023-05-23 at 6 01 05 PM" src="https://github.com/flutter/engine/assets/110993981/bd15a8a1-71f4-4f28-a86e-1903953bf030">

Fixes https://github.com/flutter/flutter/issues/61301
2023-05-26 16:17:18 +00:00
Jason Simmons
6bd25a9256 Apply the drawShadow bounds workaround to the Web HTML backend (flutter/engine#42304)
Previously the Flutter framework had been inflating the rectangle computed for the bounds of a drawShadow operation in order to work around potential inaccuracies in the SkPicture's bounds calculation.

That workaround is now obsolete for most platforms and was removed from the framework (see https://github.com/flutter/flutter/pull/127052). But the Web HTML backend is using different code for computing shadow bounds.  This PR restores the workaround for Web HTML for consistency with the old behavior.
2023-05-26 14:31:26 +00:00
skia-flutter-autoroll
da13fc6c28 Roll Fuchsia Linux SDK from DNwJQMQZladAsKTjv... to 9aZkaKhX4GslPUnbX... (flutter/engine#42343)
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-05-26 08:56:13 +00:00
skia-flutter-autoroll
2bdf483ebd Roll Skia from a47a68da8291 to 7e20e6679785 (1 revision) (flutter/engine#42340)
https://skia.googlesource.com/skia.git/+log/a47a68da8291..7e20e6679785

2023-05-26 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia Infra from 2b787917e4a3 to 9b8f1aed38ff (11 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,scroggo@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-26 07:24:39 +00:00
Jackson Gardner
387666e22f Proper memory management in Skwasm (flutter/engine#42328)
This fixes https://github.com/flutter/flutter/issues/127243.

This ensures that native skwasm objects are cleaned up when their associated dart-side objects are garbage collected.
2023-05-26 03:46:26 +00:00
Jason Simmons
ff27c6d7a5 [Impeller] Disable the wide gamut settings flag on iOS simulators (flutter/engine#42331)
Wide gamut is not supported on the iOS simulator, and the iOS platform's FlutterView.isWideGamutSupported checked for this.  However, the ImageDecoder decides whether to enable wide gamut based on the engine's settings, so the flag in the settings needs to be modified for the simulator.
2023-05-26 00:31:10 +00:00
Tong Mu
3a4bdfa370 [macOS] Multi-view thread synchronizer (flutter/engine#41915)
This PR adapts `FlutterThreadSynchronizer` to multi-view.

### Problem
The `FlutterThreadSynchronizer` is a macOS engine class to ensure that, if the current window is resized, nothing will not be presented until the layer tree is drawn with the up-to-date size. 

This class is not compatible with multiview. A simple way to realize it is: while the class is owned by `FlutterView`, it blocks the _global_ platform thread and rasterizer thread - there is got to be some problems. Indeed, when I was testing with multiple windows (https://github.com/flutter/engine/pull/40399), the app freezes as soon as I resize a window.

The problem is because Flutter only have one rasterizer thread. When I'm resizing window A, A's synchronizer detects that the size mismatches, so it blocks the rasterizer thread to wait for an updated content with the updated size. However, window B is to be rendered next, and B's size matches and will try to rasterize, and will be blocked due to the blocked rasterizer thread, window A's updated content will never arrive, causing a deadlock.

### Changes
This PR removes the single-view assumption of `FlutterThreadSynchronizer` by making it created by `FlutterEngine` and shared by all `FlutterView`s, and that it prevents rasterization for all views if any view has a mismatched size.

The synchronizer is assigned to the view controller in the `attachToEngine:withId` method (now renamed to `setUpWithEngine:viewId:threadSynchronizer:`.

This PR also adds unit tests for `FlutterThreadSynchronizer`, which didn't have any unit tests at all.
* To achieve this, the `beginResizeForView:` method no longer checks whether  is called on the main thread, but whether it's called on the main queue. These are equivalent for the real main queue, since the documentation promises that the main queue always executes on the main thread. However, this change allows substituting the queue with a custom one for unit tests.

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-05-25 22:37:35 +00:00
Jim Graham
de4939288a Move checkerboard unit tests onto DisplayList mechanism (flutter/engine#41951)
Part of an ongoing set of efforts to address https://github.com/flutter/flutter/issues/106448

Move the checkerboard layer unit tests onto the DisplayList version of the paint contexts and fix some bugs in the reusability of the DisplayListBuilder that this migration uncovered.
2023-05-25 21:56:25 +00:00
Jackson Gardner
8719978821 [Skwasm] Implement miscellaneous drawing APIs (flutter/engine#42324)
Implements `drawVertices`, `drawPoints`, and `drawAtlas`.

These are the last rendering APIs that are unimplemented in Skwasm! (Although we still need to add platform view support).
2023-05-25 21:53:23 +00:00
skia-flutter-autoroll
edd719200e Roll Skia from e648bf802cd2 to bd677c195886 (2 revisions) (flutter/engine#42325)
https://skia.googlesource.com/skia.git/+log/e648bf802cd2..bd677c195886

2023-05-25 kjlubick@google.com Make test tags configurable
2023-05-25 michaelludwig@google.com [skif] Fix required input recursion for Runtime image filters

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,scroggo@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-25 21:11:05 +00:00
Tong Mu
3b00b85da8 [Rasterizer] Make resubmit information temporary (flutter/engine#42001)
This PR refactors `Rasterizer` so that the resubmit information is
returned as a temporary struct instead of stored permanently as class
member. This limits the lifetime of these values and reduces class
members.

Additionally, this benefits the multi-view project: if the rasterizer is
going to store multiple surfaces, what variables should be stored in a
map from view IDs? Should all surfaces have a to-be-submitted record?
The answer is "no", because these information is only temporary.

This PR should not need unit tests since it's only a refactor.

## Pre-launch Checklist

- [ ] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [ ] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [ ] 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.
- [ ] I updated/added relevant documentation (doc comments with `///`).
- [ ] I signed the [CLA].
- [ ] All existing and new tests are passing.

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

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#overview
[Tree Hygiene]: https://github.com/flutter/flutter/wiki/Tree-hygiene
[Flutter Style Guide]:
https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo
[C++, Objective-C, Java style guides]:
https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
[testing the engine]:
https://github.com/flutter/flutter/wiki/Testing-the-engine
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#handling-breaking-changes
[Discord]: https://github.com/flutter/flutter/wiki/Chat
2023-05-25 13:11:23 -07:00
Jackson Gardner
23cd1255b9 Implement Web Codecs for Skwasm (flutter/engine#42184)
This implements making images from web browser codecs.

This implements a JS support library as well, which allows both the main thread and the background thread to keep a registry of JS objects that can be referenced by a numeric ID and transferred between each other.
2023-05-25 19:51:06 +00:00
godofredoc
c62ef76f75 Move linux clang tidy to engine_v2. (flutter/engine#42112)
This PR moves the v2 from staging to prod and it also moves linux android | host clang tidy to staging.

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-05-25 19:35:18 +00:00
skia-flutter-autoroll
96c5092177 Roll Skia from 69d0aa065992 to e648bf802cd2 (11 revisions) (flutter/engine#42323)
https://skia.googlesource.com/skia.git/+log/69d0aa065992..e648bf802cd2

2023-05-25 robertphillips@google.com Improve units tests a little bit
2023-05-25 robertphillips@google.com Fix DMSAA RRectOp bug with skew matrices
2023-05-25 robertphillips@google.com [graphite] Move tiled image drawing utilities to their own file(s)
2023-05-25 drott@chromium.org [Fontations] Don't assert scaler understands all outlines
2023-05-25 brianosman@google.com Remove all ARM CPU feature detection
2023-05-25 nicolettep@google.com [graphite] Create & bind descriptor sets in VulkanCommandBuffer
2023-05-25 jvanverth@google.com [graphite] Add begin/endRenderPass for Vulkan backend.
2023-05-25 kjlubick@google.com Remove Ganesh code from SkBlenderBase and SkBlendModeBlender
2023-05-25 jvanverth@google.com [graphite] Patch up some Vulkan shader issues
2023-05-25 michaelludwig@google.com [skif] Simplify new input/output bounds recursion
2023-05-25 michaelludwig@google.com [skif] FilterResult::Builder can bind FilterResults to sksl shaders

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,scroggo@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-25 19:23:23 +00:00
Jackson Gardner
aa7b3fcf98 Only use 8 cores for web test compilation. (flutter/engine#42321) 2023-05-25 19:14:06 +00:00
skia-flutter-autoroll
d5faba4008 Roll Fuchsia Linux SDK from nLnQzTesaABpgroOl... to DNwJQMQZladAsKTjv... (flutter/engine#42322)
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-05-25 19:08:08 +00:00
Valentin Hăloiu
7fa6d7123c Dynamically link against system fontconfig (flutter/engine#40725)
This is the engine counterpart for https://github.com/flutter/buildroot/pull/701. That pull-request contains more context and the main motivation for this change.

This should fix some startup performance issues related to font loading on desktop linux: https://github.com/flutter/flutter/issues/118911.

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-05-25 18:43:06 +00:00
Matej Knopp
634c40bf03 [macOS] Fix FlutterViewController retain cycle (flutter/engine#42317)
Fixes https://github.com/flutter/flutter/issues/127572

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-05-25 16:49:05 +00:00
Dan Field
45c1fe4348 Implement PlatformDispatcher.displays on web (flutter/engine#42297)
I missed this before.
2023-05-25 16:46:58 +00:00
skia-flutter-autoroll
57fb0c0135 Roll Skia from b80e74dc4cda to 69d0aa065992 (3 revisions) (flutter/engine#42319)
https://skia.googlesource.com/skia.git/+log/b80e74dc4cda..69d0aa065992

2023-05-25 kjlubick@google.com Manually Roll Dawn from 028726497ad3 to 4b35f52f9b33 (32 revisions)
2023-05-25 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 9ad20521dc02 to 354eac3ca8c8 (2 revisions)
2023-05-25 michaelludwig@google.com [skif] Remove legacy Merge filter implementation

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,scroggo@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-25 16:37:47 +00:00
Brandon DeRosier
be73e88f17 [Impeller] Safely access snapshot in the pipeline blend filter (flutter/engine#42314)
Spotted by @zanderso.
2023-05-25 09:32:23 -07:00
Brandon DeRosier
273bb77b61 [Impeller] Add generic path for mask blurring (flutter/engine#42308)
Resolves https://github.com/flutter/flutter/issues/127013.

Makes mask blurs work for most color source + geometry combinations.
Crucially, this doesn't interfere with the fast paths for solid color
RRect blurs (used for shadows).

I'll be addressing mask blurs for text in a follow-up.
2023-05-25 09:31:20 -07:00
skia-flutter-autoroll
fee0534882 Roll Skia from fbba25f66405 to b80e74dc4cda (2 revisions) (flutter/engine#42316)
https://skia.googlesource.com/skia.git/+log/fbba25f66405..b80e74dc4cda

2023-05-25 kjlubick@google.com Fix Bazel viewer build
2023-05-25 kjlubick@google.com Move SkJpegInfo impls to src/pdf

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,scroggo@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-25 14:39:15 +00:00
skia-flutter-autoroll
cdda3795e8 Roll Dart SDK from 96e29af6e0c6 to be01f9fdac37 (2 revisions) (flutter/engine#42310)
https://dart.googlesource.com/sdk.git/+log/96e29af6e0c6..be01f9fdac37

2023-05-25 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.1.0-145.0.dev
2023-05-24 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.1.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 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-05-25 07:42:20 +00:00
skia-flutter-autoroll
456de7c6fb Roll Skia from 7ec172b433f1 to fbba25f66405 (2 revisions) (flutter/engine#42309)
https://skia.googlesource.com/skia.git/+log/7ec172b433f1..fbba25f66405

2023-05-25 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from c74dae154363 to c18972fdef08 (13 revisions)
2023-05-25 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia Infra from 881cfa15a343 to 2b787917e4a3 (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 bdero@google.com,brianosman@google.com,rmistry@google.com,scroggo@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-25 07:11:23 +00:00
Brandon DeRosier
810607e52c [Impeller] Simplify CreateContentsForGeometry overloads (flutter/engine#42306)
Came across this while working on generic fallbacks for mask blurs. For
the unique_ptr case, we always capture ownership and convert to a
shared_ptr anyhow. For the shared_ptr case, we always need to capture a
copy, and so better to not take a const ref and allow the caller to move
if possible.
2023-05-24 20:54:45 -07:00