82967 Commits

Author SHA1 Message Date
Mikhail Novoseltsev
937965ffae
Add integration test for Gradle-initiated android builds with flavors (#163737)
<!--
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
-->

This request is a subset of #157871 and follows up #162907.

#162907 actually fixed behaviour of building with native tooling not
only for iOS/macOS, but also for Android builds too: now on master, if
you start build with `gradle` instead of `flutter build ...` – you also
get the correct behaviour and `appFlavor` won't be null in runtime.
Tests in this PR will check exactly this behavior.

Another diff is the change in the method of obtaining flavor at runtime
inside test project. Before this change, method channels were used for
this, after – `appFlavor` constant. Both methods do more or less the
same thing right now, but they may diverge in future, so I guess this is
the right way to check correctness here. Also, this change was requested
and approved by Andrew in
https://github.com/flutter/flutter/pull/157871#discussion_r1931153339

issue for checklist: #155951 

New test was tested here:
https://ci.chromium.org/ui/p/flutter/builders/try/Linux_pixel_7pro%20flavors_test/63/overview


## 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-24 04:40:29 +00:00
engine-flutter-autoroll
10644396b8
Roll Skia from 72f949950adb to 3dfb3fee52e1 (1 revision) (#163959)
https://skia.googlesource.com/skia.git/+log/72f949950adb..3dfb3fee52e1

2025-02-23 skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com
Update SKP version

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-23 14:03:41 +00:00
engine-flutter-autoroll
4973143100
Roll Skia from 4bee660601de to 72f949950adb (1 revision) (#163948)
https://skia.googlesource.com/skia.git/+log/4bee660601de..72f949950adb

2025-02-23 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from 2289455859d2 to 490d58c9b7d7 (2 revisions)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC 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-23 06:27:25 +00:00
engine-flutter-autoroll
ff3b708e0f
Roll Skia from cca9328df6ca to 4bee660601de (1 revision) (#163927)
https://skia.googlesource.com/skia.git/+log/cca9328df6ca..4bee660601de

2025-02-22 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from a256e0e7f2a6 to 2289455859d2 (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 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 16:51:25 +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
Jenn Magder
57c13944e6
Revert "Marks Mac_benchmark basic_material_app_macos__compile to be flaky" (#163878)
Reverts flutter/flutter#162365

The timeouts looked like infra issues, but it's no longer flaking.

Fixes https://github.com/flutter/flutter/issues/162364
2025-02-21 21:41:56 +00:00
Jenn Magder
1586b35c21
Revert "Marks Mac_benchmark flutter_view_macos__start_up to be flaky" (#163880)
Reverts flutter/flutter#159541

This is no longer flaking.

Fixes https://github.com/flutter/flutter/issues/159540
2025-02-21 21:41:56 +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
Jenn Magder
b1f94c66b8
Revert "Marks Windows_mokey native_assets_android to be flaky" (#163881)
Reverts flutter/flutter#156064

Should have marked https://github.com/flutter/flutter/issues/156063
fixed but it was already closed.
2025-02-21 21:31:52 +00:00
Jenn Magder
93aca4d43f
Mark platform_views_hcpp_scroll_perf__timeline_summary out of bringup (#163883)
platform_views_hcpp_scroll_perf__timeline_summary is happily passing


https://ci.chromium.org/ui/p/flutter/builders/staging/Linux_pixel_7pro%20platform_views_hcpp_scroll_perf__timeline_summary/255/overview

Introduced in https://github.com/flutter/flutter/pull/163018.
2025-02-21 21:30:14 +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
Jenn Magder
404655aae1
Update gradle memory properties in example and test projects (#163798)
Match the example and integration test apps to the the properties in the
`flutter create` template, updated in
https://github.com/flutter/flutter/pull/156201.

We discussed perhaps making this an auto-migration for existing Flutter
apps (if they've never edited the template from the old values), but it
probably makes sense for devs to manage this themselves depending on how
beefy the machine they are running on is.

Filed https://github.com/flutter/flutter/issues/163801 to show a nicer
message when the user hits this so they can manage
`java.lang.OutOfMemoryError: Java heap space` errors themselves.

Speculatively hoping this helps with the `Java heap space` build test
flakes
https://github.com/flutter/flutter/issues/163121#issuecomment-2665783740



## 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 21:08:20 +00:00
Justin McCandless
df65e46f94
Secure paste milestone 2 (#159013)
Implements the framework side of secure paste milestone 2, where the iOS
system context menu items can be customized.

Depends on PR https://github.com/flutter/flutter/pull/161103. Currently
I've merged that PR into this one for testing, but I think that PR
should merge separately first.

### Widget API (most users)

```dart
TextField(
  contextMenuBuilder: (BuildContext context, EditableTextState editableTextState) {
    return SystemContextMenu.editableText(
      editableTextState: editableTextState,
      // items is optional
      items: <IOSSystemContextMenuItem>[
        const IOSSystemContextMenuItemCut(),
        constIOS SystemContextMenuItemCopy(),
        const IOSSystemContextMenuItemPaste(),
        const IOSSystemContextMenuItemSelectAll(),
        const IOSSystemContextMenuItemSearchWeb(
          title: 'Search!', // title is optional for this button, defaults to localized string
        ),
        // Milestone 3:
        IOSSystemContextMenuItemCustom(
          // title and onPressed are required
          title: 'custom button',
          onPressed: () {
            print('pressed the custom button.');
          }
        ),
      ],
    );
  },
),
```

### Raw Controller API

```dart

_systemContextMenuController.show(
  widget.anchor,
  <IOSSystemContextMenuItemData>[
    // Notice these are different classes than those used for the widget. That's
    // mainly because I can't provide localized defaults here, so the titles are
    // required in the classes that have titles.
    const IOSSystemContextMenuItemDataCut(),
    const IOSSystemContextMenuItemDataCopy(),
    const IOSSystemContextMenuItemDataPaste(),
    const IOSSystemContextMenuItemDataSelectAll(),
    const IOSSystemContextMenuItemDataSearchWeb(
      title: 'Search!', // title is required.
    ),
    // Milestone 3:
    IOSSystemContextMenuItemDataCustom(
      // title and onPressed are required as before.
      title: 'custom button',
      onPressed: () {
        print('pressed the custom button.');
      }
    ),
  ],
);

```

<details>

<summary>Json format</summary>

```dart
    return _channel.invokeMethod<Map<String, dynamic>>(
      'ContextMenu.showSystemContextMenu',
      <String, dynamic>{
        'targetRect': <String, double>{
          'x': targetRect.left,
          'y': targetRect.top,
          'width': targetRect.width,
          'height': targetRect.height,
        },
        'items': <dynamic>[
          <String, dynamic>{
            'type': 'default',
            'action': 'paste',
          },
          <String, dynamic>{
            'type': 'default',
            'action': 'copy',
          },
          <String, dynamic>{
            'type': 'default',
            'title': 'Crazy Title',
            'action': 'share',
          },
        ],
      },
    );
```

</summary>

</details>

### Localization changes
This change requires the SystemContextMenu widget in the widgets library
to be able to look up the default localized label for several context
menu buttons like "Copy", etc. Those strings previously resided in
MaterialLocalizations and CupertinoLocalizations, but not in
WidgetsLocalizations, so I have copied the necessary strings into
WidgetsLocalizations.

---------

Co-authored-by: Huan Lin <hellohuanlin@gmail.com>
2025-02-21 20:48:25 +00:00
Matan Lurey
043b71954c
Enable --explicit-package-dependencies by default. (#160289)
Closes https://github.com/flutter/flutter/issues/160257.

~~This will sit on CI for a bit and give me a better idea of how much
work there is to do.~~ Done!

## IMPORTANT: Do **not** revert on 1-2 isolated post-submit failures.

While I've spent the last several weeks getting this passing all
presubmit tests, and some integration tests I suspected might be
affected, it is possible that there are 1-2 integration tests that will
fail as a result of landing this PR. I'll disable the flag
(`--no-explicit-package-dependencies`) if the failures look obvious
enough, otherwise I'll revert.
2025-02-21 19:25:16 +00:00
Moshe Dicker
4d50910b8a
Adds support for applying delta/factor transformations for TextTheme height, letter and word spacing (#158103)
Closes https://github.com/flutter/flutter/issues/158102


The text theme has the `apply` method which does bulk operations on
multiple text styles. It supports delta/factor ajustements for font
size. This is very helpful for changing all the font sizes at once using
a ratio or a simple delta.
This PR add support for height, letter spacing and and word spacing too.

### Why is this so useful?

Adjusting these in bulk is really helpful for using custom fonts. The
Material font comes which its own default text styes and they're usually
great. But many times they need to be nudged tighter.

### Doc Comment

`apply` has no doc comments for `fontSizeFactor`/`fontSizeDelta` so i
did not add any for the new `letterSpacingFactor`,
`letterSpacingDelta`... either. If we want to add it, I'll do it.

### Tests
Done!

## 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 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: Tong Mu <dkwingsmt@users.noreply.github.com>
2025-02-21 18:40:05 +00:00
Jenn Magder
bb306c53a3
Suppress stderr during Xcode command line installation check (#163785)
Xcode is in some kind of half-installed state (missing a cert? unknown)
on some devicelab Macs https://github.com/flutter/flutter/issues/161655.
As of https://github.com/flutter/flutter/pull/163685 Xcode cipd
installation isn't requested as part of the builder configuration, so it
seems like Xcode is just hanging out on that devicelab bot
quasi-installed, unrelated to the recipe.

In any case, the tool is actually doing the right thing and detecting
that Xcode isn't in a good state and continuing as if it isn't
installed, but is logging a wall of error text about it to stderr, which
that Android test doesn't like. Instead of updating the test to allow
stderr, instead swap the Xcode installation path to `exitsHappySync` to
only check the exit code (or exception), which is the original intention
behind the Xcode command line checks.


e6730613c9/packages/flutter_tools/lib/src/base/process.dart (L596-L601)

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

## 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 18:36:35 +00:00
Brandon DeRosier
911aa7547e
Remove legacy scenec stuff from flutter_tool (#163569)
o7

Removes the legacy scenec logic from flutter_tool. We removed scenec
from the engine/shipped artifacts long ago. Originally added in
https://github.com/flutter/flutter/pull/118157. This has since been
replaced by
[flutter_scene_importer](https://pub.dev/packages/flutter_scene_importer/versions)!
2025-02-21 17:41:02 +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
8bc9d52718
Roll Packages from a9b917273711 to 5a721da76766 (2 revisions) (#163848)
a9b9172737...5a721da767

2025-02-20 engine-flutter-autoroll@skia.org Roll Flutter from
e8f34a9eea90 to 39b4951f8f0b (95 revisions) (flutter/packages#8663)
2025-02-20 10687576+bparrishMines@users.noreply.github.com
[webview_flutter_wkwebview] Updates generated pigeon code to ensure the
internal wrapper immediately sends constructor calls
(flutter/packages#8657)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-packages-flutter-autoroll
Please CC flutter-ecosystem@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 15:52:16 +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
Matan Lurey
178749b970
Reland #163711 after #163780 (#163812)
Closes https://github.com/flutter/flutter/issues/163767.
Closes https://github.com/flutter/flutter/issues/163706.

It just works after, but added more test cases.
2025-02-21 03:35:14 +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
Matan Lurey
f6543c3d45
Make releaseMode explicit, inform determineDevDependencies entirely on the flag (#163780)
Closes https://github.com/flutter/flutter/issues/163770.

This simplifies understanding "when I called function X, how is it
determining release mode and/or dev-dependencies?"

AFAICT, at HEAD, this is a NOP (will let integration tests run), but
would have avoided cases such as
https://github.com/flutter/flutter/issues/163706.
2025-02-21 00:07:48 +00:00
Matan Lurey
0f586af401
Ensure exclude_dev_dependencies_test runs if flutter_tools changes. (#163768)
Caused the breakage mentioned in
https://github.com/flutter/flutter/issues/163767.
2025-02-21 00:06:04 +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
Victor Sanni
2deb3b4be0
CupertinoSliverNavigationBar.search fidelity updates (#163089)
## Native iOS overlaid on Flutter view

| Inactive search state | Active search state | 
| --- | --- |
| <img alt="Screenshot 2025-02-11 at 3 31 40 PM"
src="https://github.com/user-attachments/assets/eefa539e-8e78-4047-8876-c16db26f59df"
/> | <img alt="Screenshot 2025-02-11 at 3 34 01 PM"
src="https://github.com/user-attachments/assets/2b4b9a20-5a99-493d-b343-ac38b039efa7"
/> |

Animation curve and duration values gotten from xcode.

Addresses some of the issues in
https://github.com/flutter/flutter/issues/163020
2025-02-21 00:03:58 +00:00
Lucas Goldner
edc20aca60
feat: Add selectionColor property to selectable text (#162177)
This PR aims to add a `selectionColor` property to the `SelectableText`
widget. Below I have an image attached showing a SelectableText with a
custom selectionColor

```dart
SelectableText(
    'Hello, world! (Selectable)',
    selectionColor: Colors.red,
)
```


![image](https://github.com/user-attachments/assets/ab71a6d7-af87-4a0e-a87a-f16d8b03aaf8)

Fixes #162165

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

P.S. This is my first PR to the Flutter repo, so if I can improve
something, please let me know 🙇🏽

---------

Co-authored-by: Tong Mu <dkwingsmt@users.noreply.github.com>
2025-02-21 00:03:58 +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
Kevin Moore
7819cee8d6
[web] DRY up access to headers required for multi-threaded WebAssembly (#163555) 2025-02-20 22:26:57 +00:00
StanleyCocos
e0617ac362
fix(CupertinoDatePicker): font is inconsistent (#162932)
This request fixes the issue where the missing font parameter for
rendering the year caused its font to be inconsistent, leading to visual
misalignment.


829fe68e9d/packages/flutter/lib/src/cupertino/date_picker.dart (L1454-L1461)


- Fixes https://github.com/flutter/flutter/issues/161773

## 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.
2025-02-20 22:26:55 +00:00
Reid Baker
ed71f924b1
Create Android-API-And-Related-Versions.md (#163556)
From
https://github.com/flutter/flutter/pull/163542#issuecomment-2666519573

## 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.
2025-02-20 22:02:56 +00:00
auto-submit[bot]
e6730613c9
Reverts "Avoid implicitly setting determineDevDependencies: true (it's not a safe operation) (#163711)" (#163762)
<!-- start_original_pr_link -->
Reverts: flutter/flutter#163711
<!-- end_original_pr_link -->
<!-- start_initiating_author -->
Initiated by: victorsanni
<!-- end_initiating_author -->
<!-- start_revert_reason -->
Reason for reverting: This is closing the tree. See
https://ci.chromium.org/ui/p/flutter/builders/prod/Linux%20android_release_builds_exclude_dev_dependencies_test/889/overview
<!-- end_revert_reason -->
<!-- start_original_pr_author -->
Original PR Author: matanlurey
<!-- end_original_pr_author -->

<!-- start_reviewers -->
Reviewed By: {jonahwilliams}
<!-- end_reviewers -->

<!-- start_revert_body -->
This change reverts the following previous change:
Closes https://github.com/flutter/flutter/issues/163706.

Before this PR, the macOS workflow (or, others, but only macOS had a
test) would fail because it calls `refreshPluginsList` manually, and
sometimes it would be `determineDevDependencies: null` and sometimes
`determineDevDependencies: false`.

A value of `determineDevDependencies: null` was interpreted later on as
"find dev dependencies", which is not a safe operation. The only real
change in this PR is `bool determineDevDependencies = false`, so
omitting that parameter means we don't determine dev dependencies.

Added some tests, and opted-in an integration test that was failing.
<!-- end_revert_body -->

Co-authored-by: auto-submit[bot] <flutter-engprod-team@google.com>
2025-02-20 19:57:25 +00:00
mariamhas
3decd62f3a
Revert "Create g3_bug.yml" (#163757)
Reverts flutter/flutter#163151
2025-02-20 18:54:22 +00:00
auto-submit[bot]
fc9f5b0a54
Reverts "Make Flutter version information accessible at runtime (#140783)" (#163753)
<!-- start_original_pr_link -->
Reverts: flutter/flutter#140783
<!-- end_original_pr_link -->
<!-- start_initiating_author -->
Initiated by: matanlurey
<!-- end_initiating_author -->
<!-- start_revert_reason -->
Reason for reverting: This broke presubmit (which was skipped using
`added this pull request to the merge queue 2 hours ago`).

See https://github.com/flutter/flutter/issues/162715. Adding to the
merge queue manually is _not_ safe currently.
<!-- end_revert_reason -->
<!-- start_original_pr_author -->
Original PR Author: ueman
<!-- end_original_pr_author -->

<!-- start_reviewers -->
Reviewed By: {bkonyi}
<!-- end_reviewers -->

<!-- start_revert_body -->
This change reverts the following previous change:
This makes various Flutter version information available at runtime.
It's basically the same as executing `flutter --version`. This is
especially useful for tools like Crashlytics or Sentry (see for example
https://github.com/getsentry/sentry-dart/issues/416).

Usage example:
```dart
FlutterVersion.version;           // 3.16.5
FlutterVersion.channel;           // stable
FlutterVersion.gitUrl;            // https://github.com/flutter/flutter.git
FlutterVersion.frameworkRevision; // 78666c8dc5
FlutterVersion.engineRevision;    // 3f3e560236
FlutterVersion.dartVersion;       // 3.2.3
```

This approach has prior art as seen in #134179.

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

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

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], 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] All existing and new tests are passing.

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

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#overview
[Tree Hygiene]: https://github.com/flutter/flutter/wiki/Tree-hygiene
[test-exempt]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo#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/wiki/Tree-hygiene#handling-breaking-changes
[Discord]: https://github.com/flutter/flutter/wiki/Chat

<!-- end_revert_body -->

Co-authored-by: auto-submit[bot] <flutter-engprod-team@google.com>
2025-02-20 18:00:48 +00:00
Jenn Magder
2a6b0158b2
Skip Xcode install on mac_mokey Android tests (#163685)
These tests are failing on querying Xcode for simulator devices when
running Android tests. Ideally recipes wouldn't try to install Xcode
unless requested via `"sdk_version": "[xcode version number]"` property,
[but they do](https://github.com/flutter/flutter/issues/163670). Since
the recipe[ mapping of macOS version to Xcode
version](https://flutter.googlesource.com/recipes/+/refs/heads/main/recipe_modules/osx_sdk/api.py#22)
is out of date, it's falling back to an old version of Xcode when none
are specified.

Stop installing Xcode on these builder configurations. If this works
I'll follow up and add it to `mac_pixel_7pro`, `mac_arm64_android`, etc.

First step of https://github.com/flutter/flutter/issues/161655. If this
works `bringup` can be removed.
Fixes https://github.com/flutter/flutter/issues/163309

## 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-20 17:31:44 +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
Matan Lurey
7df3f8fc06
Add FlutterVersion.engineCommitDate, helps signal engine artifact SHA issues (#163652)
Closes #163644.

Before this change:
```sh
flutter-dev --version                                                                         
Flutter 3.30.0-1.0.pre.215 • channel [user-branch] • https://github.com/matanlurey/flutter
Framework • revision cead517e4e (79 seconds ago) • 2025-02-19 13:00:11 -0800
Engine • revision 39b4951f8f
Tools • Dart 3.8.0 (build 3.8.0-92.0.dev) • DevTools 2.43.0
```

After this change:
```sh
flutter-dev --version                                                                         
Flutter 3.30.0-1.0.pre.215 • channel [user-branch] • https://github.com/matanlurey/flutter
Framework • revision cead517e4e (79 seconds ago) • 2025-02-19 13:00:11 -0800
Engine • revision 39b4951f8f (79 seconds ago) • 2025-02-18 13:42:53 -0800
Tools • Dart 3.8.0 (build 3.8.0-92.0.dev) • DevTools 2.43.0
```

/cc @jtmcdole as this could be helpful for sleuthing artifact mismatch.
2025-02-20 16:31:29 +00:00
Matan Lurey
281612e648
Avoid implicitly setting determineDevDependencies: true (it's not a safe operation) (#163711)
Closes https://github.com/flutter/flutter/issues/163706.

Before this PR, the macOS workflow (or, others, but only macOS had a
test) would fail because it calls `refreshPluginsList` manually, and
sometimes it would be `determineDevDependencies: null` and sometimes
`determineDevDependencies: false`.

A value of `determineDevDependencies: null` was interpreted later on as
"find dev dependencies", which is not a safe operation. The only real
change in this PR is `bool determineDevDependencies = false`, so
omitting that parameter means we don't determine dev dependencies.

Added some tests, and opted-in an integration test that was failing.
2025-02-20 15:56:08 +00:00
Matan Lurey
47640aa0e0
It is now safe to call getBuildMode().release (#163712)
... because this function is no longer called in a context where it
_isn't_ safe. Yay!
2025-02-20 15:38:55 +00:00