29881 Commits

Author SHA1 Message Date
zijiehe@
70b7664ba2
[fuchsia] enable assets_unittests (#164019)
It is an easy fix.

http://b/394632376

## 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], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [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/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-02-25 17:51:36 +00:00
Matej Knopp
940fb3c8b1
[Embedder] Wire view focus event and focus request (#163930)
This wires `PlatformDispatcher.onViewFocusChange` and
`PlatformDispatches.requestViewFocusChange` through embedder API.

*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 readand followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [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/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md

---------

Co-authored-by: Matthew Kosarek <matt.kosarek@canonical.com>
Co-authored-by: Loïc Sharma <737941+loic-sharma@users.noreply.github.com>
2025-02-25 17:37:06 +00:00
John McDole
be1938aa1c
Enable luci_flags for faster builds (#164069)
Experiment enable turning on faster builds.

1. Moves collecting of builds till after we setup the orchestrator bot
2. Downloads drone artifacts in parallel.

See: https://flutter-review.googlesource.com/c/recipes/+/63800
2025-02-25 16:18:56 +00:00
Jonah Williams
73b518d0c3
[iOS] increase backdrop cached task limit. (#164036)
Partial workaround for https://github.com/flutter/flutter/issues/161142
. Since this was an arbitrary number anyway we can increase it a bit.
2025-02-25 15:41:47 +00:00
Matej Knopp
641765e283
[Windows] Use enum to configure UI thread policy (#163727)
https://github.com/flutter/flutter/pull/162935 added a boolean setting
to allow merged platform and UI thread. Using boolean doesn't allow for
opting out of the behavior once we enable it by default, which is
something we will likely want to allow, at least for a period of time.

This PR replaces the boolean with following enum:
```cpp
// Configures the thread policy for running the UI isolate.
typedef enum {
  // Default value. Currently will run the UI isolate on separate thread,
  // later will be changed to running the UI isolate on platform thread.
  Default,
  // Run the UI isolate on platform thread.
  RunOnPlatformThread,
  // Run the UI isolate on a separate thread.
  RunOnSeparateThread,
} FlutterDesktopUIThreadPolicy;
```

## 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], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [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/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md

---------

Co-authored-by: Loïc Sharma <737941+loic-sharma@users.noreply.github.com>
2025-02-25 12:33:27 +00:00
engine-flutter-autoroll
ebd80b701b
Roll Skia from a141a3ceef87 to 521c27acf504 (8 revisions) (#164083)
https://skia.googlesource.com/skia.git/+log/a141a3ceef87..521c27acf504

2025-02-25 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE
from f09a19cebdaf to 25a22decd766 (9 revisions)
2025-02-25 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
SwiftShader from 2407a54c9b29 to c12c13839d68 (2 revisions)
2025-02-25 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn
from d20125b786b1 to ce93f1f3a1f4 (11 revisions)
2025-02-25 michaelludwig@google.com Reland "[graphite] Remove
TextureInfoData and TextureSpec in TextureInfo"
2025-02-25 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from 90cce021a3ec to 34a782c7af2d (10 revisions)
2025-02-24 kjlubick@google.com Fix ninepatch size calculations when
dealing with fractional radii
2025-02-24 robertphillips@google.com [graphite] Add user-defined known
runtime effect API
2025-02-24 robertphillips@google.com [graphite] Add user-defined known
runtime effects to ShaderCodeDictionary

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
brettos@google.com,jacksongardner@google.com,kjlubick@google.com on the
revert to ensure that a human
is aware of the problem.

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
To file a bug in Flutter:
https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-02-25 09:31:06 +00:00
Matan Lurey
7535cb10bc
Move AndroidRenderingApi from common to shell/platform/android (#163796)
Towards https://github.com/flutter/flutter/issues/163792.

Major changes:

- `enum class AndroidRenderingAPI` physically moves to
`shell/platform/android`
- Store in `FlutterMain` (as a result of `::init`), instead of in
`Settings`

---------

Co-authored-by: Jonah Williams <jonahwilliams@google.com>
2025-02-25 02:40:29 +00:00
engine-flutter-autoroll
ebc7d244d3
Roll Skia from 994168b1ba10 to a141a3ceef87 (1 revision) (#164023)
https://skia.googlesource.com/skia.git/+log/994168b1ba10..a141a3ceef87

2025-02-24 jvanverth@google.com [graphite] Add back some validation for
clip atlas.

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
brettos@google.com,jacksongardner@google.com,kjlubick@google.com on the
revert to ensure that a human
is aware of the problem.

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
To file a bug in Flutter:
https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-02-24 22:30:25 +00:00
Devon Carew
2bf32d855e
[deps] update dep references from older repos to newer (current SOT) repos (#163891)
Update dep references from older repos to newer (current SOT) repos:

- package:markdown is now part of the dart-lang/tools monorepo
- package:glob is now part of the dart-lang/tools monorepo
- package:web_socket_channel is now in dart-lang/http
- package:intl moved (quite a while ago) to the dart-lang/i18n monorepo
- package:gcloud moved (a while ago) to dart-lang/labs

I didn't have to update any references to package:intl as part of this;
I suspect that means that its not actually used here.

I was not able to update package:gcloud to the most recent commit; I had
to stop short of that because the package is now referencing
package:retry - in google/dart-neats - and there's no mirror for that.

Generally, it would be useful to have a process to update older
references here and / or garbage collect the dep'd in repos.

Done as the last bit of https://github.com/dart-lang/sdk/issues/56591.

## 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], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [ ] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [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/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-02-24 20:13:03 +00:00
Mouad Debbar
6b5b468a60
[web] Actual removal of HTML code (#164003)
All usages of this code have been cleaned up. There's nothing using this
code at this point.

Closes https://github.com/flutter/flutter/issues/145954
2025-02-24 19:32:13 +00:00
Jonah Williams
a488d104f2
[iOS] switch iOS to slimpeller variant. (#163808)
Now that skia can no longer be used on both iOS devices and Simulators,
we can switch the iOS engine to the "slimpeller" variant which removes
some (not all!) of the Skia dependencies. This should reduce binary size
and build time.

I also did some cleanups as some tests we're still opting into Skia
behaviors (though not actually running skia) and we now flag these as
errors.
2025-02-24 19:05:21 +00:00
Jonah Williams
1e2583eff2
[ui] Fix ImageFilter.shader equality to consider uniform values. (#163348)
Fixes https://github.com/flutter/flutter/issues/163302

Framework widgets check for ImageFIlter.== to determine whether to mark
themselves dirty. The filter obejct needs to delegate its equality to
the underlying native filter so that uniform values are considered.
2025-02-24 19:01:55 +00:00
engine-flutter-autoroll
35eaaaa3d0
Roll Skia from 322bb2226654 to 994168b1ba10 (3 revisions) (#164007)
https://skia.googlesource.com/skia.git/+log/322bb2226654..994168b1ba10

2025-02-24 kjlubick@google.com Remove extra multiplication from rrect GM
2025-02-24 kjlubick@google.com Revert "Remove transform_scanline
functions from SkJpegEncoderImpl"
2025-02-24 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from 02cb40cbb578 to 90cce021a3ec (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
brettos@google.com,jacksongardner@google.com,kjlubick@google.com on the
revert to ensure that a human
is aware of the problem.

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
To file a bug in Flutter:
https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-02-24 18:27:54 +00:00
Yegor
de72d1c642
[web] retry safaridriver session creation (#163791)
Speculatively retry when WebDriver session fails with a timed out
Safari. It is hard enough to get `safaridriver` to open a local port, so
one we have that going, it might be good to give a chance to connect to
the browser 🤷

Fixes https://github.com/flutter/flutter/issues/163790
2025-02-24 16:50:26 +00:00
Jonah Williams
0102da95cd
[Impeller] Disable text cache. (#163906)
I forgot to make a master branch version of the cherry pick here:
https://github.com/flutter/flutter/pull/163754
2025-02-24 16:26:01 +00:00
engine-flutter-autoroll
7f447ea98c
Roll Dart SDK from bad289580d9b to aea6fff33f06 (3 revisions) (#163912)
https://dart.googlesource.com/sdk.git/+log/bad289580d9b..aea6fff33f06

2025-02-22 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.8.0-132.0.dev
2025-02-22 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.8.0-131.0.dev
2025-02-21 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.8.0-130.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
Please CC dart-vm-team@google.com,jacksongardner@google.com on the
revert to ensure that a human
is aware of the problem.

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

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-02-22 06:42:38 +00:00
engine-flutter-autoroll
f7be00358a
Roll Skia from 1d884bab8593 to cca9328df6ca (12 revisions) (#163910)
https://skia.googlesource.com/skia.git/+log/1d884bab8593..cca9328df6ca

2025-02-21 kjlubick@google.com Revert "[graphite] Require colorspaces
for precomp color xform objects"
2025-02-21 robertphillips@google.com [graphite] Allow unit tests to get
access to TestOptions
2025-02-21 michaelludwig@google.com Revert "[graphite] Remove
TextureInfoData and TextureSpec in TextureInfo"
2025-02-21 kjlubick@google.com Add missing dependencies to jpeg_helpers
target
2025-02-21 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from 126c9b378eb7 to a256e0e7f2a6 (17 revisions)
2025-02-21 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE
from 80093a7d8f85 to be98f841ec88 (9 revisions)
2025-02-21 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
SwiftShader from d7ed113c66ec to 2407a54c9b29 (3 revisions)
2025-02-21 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn
from be5b722c82af to 5070f7af1ee9 (17 revisions)
2025-02-20 jamesgk@google.com [graphite] Require colorspaces for precomp
color xform objects
2025-02-20 danieldilan@google.com Remove transform_scanline functions
from SkJpegEncoderImpl
2025-02-20 lokokung@google.com [dawn][headers] Use ifdefs for flattening
of wgpu::*Limits.
2025-02-20 kjlubick@google.com Add gm to highlight differences in
codepaths to draw blurry rrects

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 jacksongardner@google.com,kjlubick@google.com on the revert to
ensure that a human
is aware of the problem.

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
To file a bug in Flutter:
https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-02-22 05:32:17 +00:00
zijiehe@
645e9f17a7
[fuchsia] include more tests in the fuchsia builders (#163800)
This change includes 5 more test suites, and another 5 disabled test
suites. Fixing tests would be performed separately later.

http://b/394632376

## 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], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [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/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-02-22 04:25:27 +00:00
Tong Mu
5b7a3c8b20
[Engine] Add RoundSuperellipse to drawing OP (#160883)
This PR adds support for clipping round superellipse to the engine.

For what a rounded superellipse is, see [this design
doc](https://docs.google.com/document/d/1CJXULKJGQt22FOFsrlm2TKVjKBtif1yU4U50cMfL6Kc/edit?tab=t.0).
Video demos can be found at https://github.com/flutter/engine/pull/56726
and https://github.com/flutter/flutter/pull/161409.

Only impeller can actually render it. On Skia and Web, this shape falls
back to `RRect`.

Part of https://github.com/flutter/flutter/issues/139321 and
https://github.com/flutter/flutter/issues/13914, also related to
https://github.com/flutter/flutter/issues/91523.

## 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], including [Features
we expect every widget to implement].
- [ ] I signed the [CLA].
- [ ] I listed at least one issue that this PR fixes in the description
above.
- [ ] I updated/added relevant documentation (doc comments with `///`).
- [ ] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [ ] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [ ] 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/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-02-21 23:58:26 +00:00
Gray Mackall
7d23780c7f
[remake] Restore old back handling for FlutterFragmentActivity (#161545)
Remake of https://github.com/flutter/engine/pull/56565. Quoting from an
old comment, slightly edited:

------------ 

https://github.com/flutter/engine/pull/52302 seems to have
unintentionally had the effect of not allowing people to "opt out" of
predictive back. This is actually aligned with what the android docs say
should happen:

https://developer.android.com/guide/navigation/custom-back/predictive-back-gesture
> Note: OnBackPressedCallback is always called regardless of the value
of android:enableOnBackInvokedCallback. In other words, disabling the
system animation doesn't affect your app's back handling logic if it
uses OnBackPressedCallback.

But this wasn't actually true for flutter apps before
https://github.com/flutter/engine/pull/52302, because we were not
calling `super`, and `FlutterFragmentActivity` extends a
`FragmentActivity` which in turn extends a `ComponentActivity`, which
uses the old `onBackPressed` to [invoke the new back
handling](https://cs.android.com/androidx/platform/frameworks/support/+/androidx-main:activity/activity/src/main/java/androidx/activity/ComponentActivity.kt;l=587?q=ComponentActivity):
```kotlin
   override fun onBackPressed() {
        onBackPressedDispatcher.onBackPressed()
    }
```

So while the docs imply that removing the `onBackPressed` in
`FlutterFragmentActivity` shouldn't have had an effect, that wasn't true
because in our case we were consuming the back event and ignoring the
warning
```java
  @Override
  @SuppressWarnings("MissingSuperCall")
  public void onBackPressed() {
    flutterFragment.onBackPressed();
  }
```

What all this means is that apps that _aren't_ opting in to predictive
back had their back handling migrated to the new code path
automatically. FlutterFragmentActivity was uniquely is forced into the
new back handling codepath by
https://github.com/flutter/engine/pull/52302, which this PR fixes.

------------ 

## 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], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [ ] 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/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md

---------

Co-authored-by: Gray Mackall <mackall@google.com>
2025-02-21 22:22:24 +00:00
engine-flutter-autoroll
401ab831ee
Roll Dart SDK from c5e582f15b6c to bad289580d9b (1 revision) (#163885)
https://dart.googlesource.com/sdk.git/+log/c5e582f15b6c..bad289580d9b

2025-02-21 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.8.0-129.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
Please CC dart-vm-team@google.com,jacksongardner@google.com on the
revert to ensure that a human
is aware of the problem.

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

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-02-21 21:41:55 +00:00
engine-flutter-autoroll
c6573749d0
Roll Skia from 6da10829d017 to 1d884bab8593 (42 revisions) (#163789)
Roll Skia from 6da10829d017 to 1d884bab8593 (42 revisions)

https://skia.googlesource.com/skia.git/+log/6da10829d017..1d884bab8593

2025-02-20 jlavrova@google.com Drawing hanging whitespaces in Paragraph
2025-02-20 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from 26efdfb4f31d to 126c9b378eb7 (5 revisions)
2025-02-20 nscobie@google.com Update SkQPTestCases enforcement for
202504 vendor API bump (Android 16)
2025-02-20 jamesgk@google.com Split format calculation out of
SkWorkingFormatColorFilter
2025-02-20 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
skottie-base from 7c51661ea28c to 7b44b80c0fac
2025-02-20 michaelludwig@google.com [graphite] Remove TextureInfoData
and TextureSpec in TextureInfo
2025-02-20 nicolettep@google.com [graphite] Prepend input attachment
descriptor set to all Vulkan pipelines layouts
2025-02-20 nicolettep@google.com [graphite] Allow backends to define
resource set/group indices for SkSL generation
2025-02-20 bungeman@google.com [pdf] Developer build dump of input
structure tree
2025-02-20 jvanverth@google.com [graphite] Use linked list for
ClipAtlasManager.
2025-02-20 patrto@microsoft.com Bump golang.org/x/crypto and
golang.org/x/net
2025-02-20 skia-autoroll@skia-public.iam.gserviceaccount.com Manual roll
Dawn from c77cb9bbcd29 to be5b722c82af (26 revisions)
2025-02-20 borenet@google.com [infra] Update to go 1.22.0 in go.mod
2025-02-20 rop@google.com Updating license IDs to be spdx compliant
2025-02-20 jamesgk@google.com [graphite] Fix precomp tests involving
picture shaders
2025-02-20 nscobie@google.com [graphite] Re-enable BackendTextureTest on
Vulkan (& fix protectedness)
2025-02-20 egdaniel@google.com Revert "[Graphite] Add dawn
disable_lazy_clear_for_mapped_at_creation_buffer toggle"
2025-02-20 robertphillips@google.com [graphite] Update known runtime
effect constants for user-defined known runtime effects
2025-02-20 vmiura@google.com [graphite] Prevent default zero
initializaiton for DrawList members.
2025-02-20 michaelludwig@google.com [skif] Add build flag to avoid slow
small sigma CPU blurs
2025-02-20 robertphillips@google.com [graphite] Shore up snippet ID
error handling in preparation for user-defined known runtime effects
2025-02-20 robertphillips@google.com [graphite] Tinker w/ serialized
pipeline keys a bit
2025-02-20 kjlubick@google.com Reland "Decouple PDF backend and JPEG
encoding/decoding"
2025-02-20 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE
from bace6371e325 to 80093a7d8f85 (14 revisions)
2025-02-20 kjlubick@google.com Reland "Add some checks to avoid
asserting deep in ImageFilter code"
2025-02-20 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn
from 65cf97632f2a to c77cb9bbcd29 (16 revisions)
2025-02-20 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
SwiftShader from 720189cae847 to d7ed113c66ec (2 revisions)
2025-02-19 lukasza@chromium.org [rust png] Add a new
`SkCodec::isAnimated` API.
2025-02-19 borenet@google.com [infra] Update Go to 1.24.0
2025-02-19 borenet@google.com [infra] Use SkiaIOS pool for iOS devices
2025-02-19 michaelludwig@google.com [skif] Relax assert in
srcRelativeOutput
2025-02-19 kjlubick@google.com Revert "Decouple PDF backend and JPEG
encoding/decoding"
2025-02-19 kjlubick@google.com Revert "[graphite] Enable
BackendTextureTest on Vulkan"
2025-02-19 kjlubick@google.com Revert "Add some checks to avoid
asserting deep in ImageFilter code"
2025-02-18 robertphillips@google.com [graphite] Move
PipelineCallbackHandler to skiatools for reuse
2025-02-18 kjlubick@google.com Add some checks to avoid asserting deep
in ImageFilter code
2025-02-18 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from 5d08bc0b0e23 to 26efdfb4f31d (8 revisions)
2025-02-18 nscobie@google.com [SkQP] Create new AllSkQPTestCases module
for Android framework builds
2025-02-18 nscobie@google.com [graphite] Enable BackendTextureTest on
Vulkan
2025-02-18 kjlubick@google.com Decouple PDF backend and JPEG
encoding/decoding
2025-02-18 drott@chromium.org [Fontations] Match FreeType antialiasing
on unknown pixel geometry
2025-02-18 kjlubick@google.com Use SkSpans in BlurMask and related
classes

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
...

Co-authored-by: Jackson Gardner <jacksongardner@google.com>
2025-02-21 21:20:06 +00:00
Matan Lurey
ad76af2327
Enable linux_android_emulator_tests on presubmit. (#163879)
Finalizes https://github.com/flutter/flutter/issues/163742.

It passed the last ~10 builds on postsubmit.
2025-02-21 21:09:48 +00:00
zijiehe@
6018856ece
[fuchsia] reorder tests in test_suites.yaml and update the comment (#163799)
This is a no-op change to avoid bloating
https://github.com/flutter/flutter/tree/zijiehe-google-com/more-tests.
The change reorders the test_suites.yaml alphabetically and removes the
unused run_with_dart_aot field.

The change should test itself, no extra tests are needed.

http://b/394632376

## 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], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [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/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-02-21 17:02:24 +00:00
engine-flutter-autoroll
99b2c1adaa
Roll Dart SDK from 7ceb3be8ed0a to c5e582f15b6c (2 revisions) (#163844)
https://dart.googlesource.com/sdk.git/+log/7ceb3be8ed0a..c5e582f15b6c

2025-02-21 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.8.0-128.0.dev
2025-02-21 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.8.0-127.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
Please CC dart-vm-team@google.com,jacksongardner@google.com on the
revert to ensure that a human
is aware of the problem.

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

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-02-21 16:08:21 +00:00
engine-flutter-autoroll
b205b6b48a
Roll Dart SDK from ad642ee6f94b to 7ceb3be8ed0a (2 revisions) (#163832)
https://dart.googlesource.com/sdk.git/+log/ad642ee6f94b..7ceb3be8ed0a

2025-02-21 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.8.0-126.0.dev
2025-02-21 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.8.0-125.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
Please CC dart-vm-team@google.com,jacksongardner@google.com on the
revert to ensure that a human
is aware of the problem.

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

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-02-21 10:24:24 +00:00
Matan Lurey
190d3be607
Update how to use VSCode with clangd after the monorepo merge (#163671) 2025-02-21 03:38:42 +00:00
Robert Ancell
dec3b1e20e
Fix incorrect function name in FlutterEngineRun documentation (#163696) 2025-02-21 03:27:33 +00:00
engine-flutter-autoroll
9583e0ac12
Roll Dart SDK from 557cbf2c7da6 to ad642ee6f94b (5 revisions) (#163794)
https://dart.googlesource.com/sdk.git/+log/557cbf2c7da6..ad642ee6f94b

2025-02-20 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.8.0-124.0.dev
2025-02-20 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.8.0-123.0.dev
2025-02-20 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.8.0-122.0.dev
2025-02-20 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.8.0-121.0.dev
2025-02-20 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.8.0-120.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
Please CC dart-vm-team@google.com,jacksongardner@google.com on the
revert to ensure that a human
is aware of the problem.

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

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-02-21 01:07:39 +00:00
Harry Terkelsen
442c24147b
[canvaskit] Use visualViewport.scale to determine device pixel ratio. (#163688)
When using Chrome for Android with "Request Desktop Site" checked will
cause the browser to set the `visualViewport` to have a very large size
and a scale of less than 1. If we do not account for the scale, then we
will create a huge bitmap (on a Pixel 4 emulator with "Request Desktop
Site" checked the viewport size was ~2500 x ~5000). Attempting to create
a too-large bitmap can silently fail and create a bitmap that is
slightly too small. This fixes Flutter Web to take the visual viewport
scale into account so we don't create enormous (and potentially flaky)
bitmaps on every frame.

BEFORE:

![Screenshot 2025-02-18 at 10 30
59 AM](https://github.com/user-attachments/assets/0bc5194a-59d7-4dcd-9240-b60c85f5d119)


AFTER:

![Screenshot 2025-02-19 at 4 44
53 PM](https://github.com/user-attachments/assets/ac62e141-da87-4463-a5f9-d15477951bb7)


Fixes https://github.com/flutter/flutter/issues/136319
Fixes https://github.com/flutter/flutter/issues/154162

## 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], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [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/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-02-21 00:51:28 +00:00
Jim Graham
d0e2fc72bc
[DisplayList] Migrate rendering tests and benchmarks to DL geometry (#163766)
Migrating the benchmark and rendering tests to using DL geometry with DL
rendering calls.
2025-02-21 00:15:39 +00:00
NabilaWorks
d4c86003d9
WebKit should respect TextCapitalization.words (#161027)
<!--
Thanks for filing a pull request!
Reviewers are typically assigned within a week of filing a request.
To learn more about code review, see our documentation on Tree Hygiene:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
-->

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



https://github.com/user-attachments/assets/88a9baf9-8f2c-48fb-ad9c-1618fbce0795


Flutter web apps on iOS were forced to use `sentences` instead of
`words` when `TextCapitalization.words` was specified, in order to work
around this particular bug :
https://bugs.webkit.org/show_bug.cgi?id=148504

That bug was fixed more than 4 years ago so it should be safe to use
`words` now.

With this change, legacy devices that are still on specific versions on
iOS 13 or lower might experience the old WebKit bug when
`TextCapitalization.words` is used, however the Flutter developer who
expects such users can work around that bug by detecting the user agent
and using `TextCapitalization.sentences` conditionally, in order to get
the existing behavior prior to this change.



## 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], including [Features
we expect every widget to implement].
- [X] I signed the [CLA].
- [X] I listed at least one issue that this PR fixes in the description
above.
- [X] I updated/added relevant documentation (doc comments with `///`).
- [X] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [X] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [ ] 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/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md

---------

Co-authored-by: Mouad Debbar <mouad.debbar@gmail.com>
2025-02-21 00:04:00 +00:00
Matan Lurey
177b7e6091
Restore linux_android_emulator_tests to CI. (#163747)
Closes https://github.com/flutter/flutter/issues/163742.

Removed JSON files for testing emulator API variations (that was only
applicable for Scenario App).
2025-02-20 22:34:34 +00:00
Yegor
9b356c17c3
introduce system color palette (#163335)
Introduce system colors:

* Add new `SystemColor` class.
* Add `PlatformDispatcher.systemColors` getter.

The web engine part for https://github.com/flutter/flutter/issues/118853
2025-02-20 22:32:06 +00:00
engine-flutter-autoroll
5ce2ad9158
Roll Dart SDK from 2cecb16348e4 to 557cbf2c7da6 (3 revisions) (#163705)
https://dart.googlesource.com/sdk.git/+log/2cecb16348e4..557cbf2c7da6

2025-02-20 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.8.0-119.0.dev
2025-02-19 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.8.0-118.0.dev
2025-02-19 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.8.0-117.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
Please CC dart-vm-team@google.com,jacksongardner@google.com on the
revert to ensure that a human
is aware of the problem.

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

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-02-20 17:30:51 +00:00
Jonah Williams
90d7ced2e7
[iOS] remove Skia interfaces from iOS platform code. (#163505)
Skia can no longer be enabled on iOS. Remove software and skia surfaces,
references to GrContext.
2025-02-20 15:37:19 +00:00
Matej Knopp
e6c333b555
[windows] Implement merged UI and platform thread (#162935)
Original issue: https://github.com/flutter/flutter/issues/150525

Thread merging is currently disabled by default. 
It is controlled from the application through `DartProject`:
```cpp
flutter::DartProject project(L"data");
// Enables running UI isolate on platform thread
project.set_merged_platform_ui_thread(true);
```
Required changes to windows embedder: 
- Resize synchronization no longer blocks on condition variable, instead
it polls the Flutter run loop (ignoring other windows messages) until
the frame is available. This way resize synchronization works with both
thread merging enabled and disabled.

## 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], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [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/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md

---------

Co-authored-by: Loïc Sharma <737941+loic-sharma@users.noreply.github.com>
2025-02-20 10:33:13 +00:00
Jonah Williams
72cc1d198c
[iOS] always post new task during gesture dispatch. (#163646)
Fixes https://github.com/flutter/flutter/issues/163429

If we synchronously call into dart ui when dispatching pointer events,
then we only end up scheduling about ~half as many frames as we should.
Nothing is blocked, no task starvation, et cetera. It should always be
safe to post pointer events as a new task instead.
2025-02-19 22:52:07 +00:00
Jim Graham
99ac47897e
Reland "[Impeller] add support for rational bezier conics to Path (#63282)" (#163645)
Reverts flutter/flutter#163624
Relands https://github.com/flutter/flutter/pull/163282

Add basic support for storing rational bezier conics in impeller::Path.
The support is very thin and just degrades the conics into a pair of
quadratic curves just as Impeller has always done for the conic segments
that it receives via SkPath objects, but it puts in place the framework
for eventually handling the conics more directly and allows the unit
tests to be rewritten on top of Impeller paths rather than SkPaths,
paving the way for reduced internal API dependencies.
2025-02-19 21:54:08 +00:00
Yegor
7e297c29f8
[web:a11y] wheel events switch to pointer mode (#163582)
Fixes https://github.com/flutter/flutter/issues/159358
2025-02-19 21:33:04 +00:00
Dimitar Kyurtov
3d2ab872b8
replace deprecated [UIScreen mainScreen] in iOS (#162785)
<!--
Thanks for filing a pull request!
Reviewers are typically assigned within a week of filing a request.
To learn more about code review, see our documentation on Tree Hygiene:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
-->

1. Replaced `mainScreen` in `FlutterPlatformViewsController` with the
`screeScale` of the `screen` that the `flutterViewController` is
attached to. Updated API usage of `FlutterClippingMaskViewPool` and
`OverlayLayerPool` by providing the correct `screenScale` from the
screen that the `flutterViewController` is attached to.
2. Replaced `mainScreen` in `OverlayLayerPool` by adding an API for the
`screenScale` to be provided by the class user.
3. Replaced `mainScreen` in `FlutterClippingMaskViewPool` by adding an
API for the `screenScale` to be provided by the class user.
4. Replaced `mainScreen` in `FlutterPlatformViewsTest` by adding a
mocked `FlutterViewController` which has a mocked `screen` with a mocked
`screenScale`. The `flutterViewController` is then provided the to the
`flutterPlatformViewsController`.

All of the above changes allow platform views and their overlays
displayed on an external screen to be properly scaled when rendered.

Fixes #130832. I believe this fixed #130825 since
FlutterPlatformViews_Internal.mm does not exist but the definition of
the interfaces declared in FlutterPlatformViews_Internal.h are part of
the files modified by this pr. This pr also replaces `mainScreen` in
`overlay_layer_pool.mm`.

## 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], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [ ] I updated/added relevant documentation (doc comments with `///`).
- [x] I updated/added new tests to check the change I am making, or this
PR is [test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [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/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-02-19 20:41:44 +00:00
Jason Simmons
b4d05f4867
Manual roll of Dart SDK from 023ac80cef14 to 2cecb16348e4 (#163621) 2025-02-19 20:37:35 +00:00
Jonah Williams
408cbaf233
[Impeller] ensure that OpenGL "flipped" textures do not leak via texture readback. (#163501)
Fixes https://github.com/flutter/flutter/issues/163315
Fixes https://github.com/flutter/flutter/issues/163521
Fixes https://github.com/flutter/flutter/issues/142641

OpenGL has an inverted coordinate system (bottom left is zero) compared
to Metal/Vulkan (top left is zero). We handle this by rendering things
upside down on OpenGL. Unfortunately this can leak out of the renderer
via readback (toImage), so we need to make sure to undo the inversion.

This is not performed for the "TextureCoordinateSystem::kUploadFromHost"
state as that indicates the texture is already "right side up".
2025-02-19 20:07:07 +00:00
Paul Sturm
6ac63dc0fc
Hot Restart should dispose all previous Platform Views (macOS) (#163439)
<!--
Thanks for filing a pull request!
Reviewers are typically assigned within a week of filing a request.
To learn more about code review, see our documentation on Tree Hygiene:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
-->

When using Platform Views on macOS, performing a Hot Restart throws an
exception with message "trying to create an already created view". This
is because the old Platform Views are not cleaned up. So, here we
dispose of the old Platform Views as part of the Hot Restart process.

Fixes issue: https://github.com/flutter/flutter/issues/110381

## 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], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [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/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-02-19 20:02:57 +00:00
Matan Lurey
78d0f5f0f6
Remove duplicate sources in the web_sdk. (#163636)
Post-submit feedback on https://github.com/flutter/flutter/pull/163015.
2025-02-19 19:59:12 +00:00
Matan Lurey
485c9105fc
Revert "[Impeller] add support for rational bezier conics to Path (#63282)" (#163624)
This reverts commit db0bdfd117077a69f79ce0d4c03ab387a78ef7dd to fix a
tree breakage.
2025-02-19 18:51:42 +00:00
Jonah Williams
e7d167cca2
[android] use macro definition to shrink repetitive JNI code size. (#163395)
But less code!
2025-02-18 21:31:36 +00:00
Mouad Debbar
4be1b57d50
[web] Cleanup everything HTML from the engine (outside html/ folder) (#162840)
Things being cleaned up:

- Remove `flutter.js` support for HTML/AUTO renderers.
- Delete the renderer auto-detection logic and flag.
- Remove references to the `HtmlRenderer` from renderer-agnostic code.
- Remove the `auto-selected`/`requested explicitly` info from the DOM.

As a follow up to this, I'll create another PR that deletes the entire
`html/` folder.
2025-02-18 21:28:24 +00:00
Jim Graham
db0bdfd117
[Impeller] add support for rational bezier conics to Path (#163282)
Add basic support for storing rational bezier conics in impeller::Path.
The support is very thin and just degrades the conics into a pair of
quadratic curves just as Impeller has always done for the conic segments
that it receives via SkPath objects, but it puts in place the framework
for eventually handling the conics more directly and allows the unit
tests to be rewritten on top of Impeller paths rather than SkPaths,
paving the way for reduced internal API dependencies.
2025-02-18 21:20:50 +00:00
Chinmay Garde
a16c447abc
[Impeller] Don't create a redundant typography context. (#163513)
This was a typo that caused a typography context to be created, its
validity checked, but the context not actually used. Instead returning a
new one.

No change in functionality.
2025-02-18 19:05:10 +00:00