84234 Commits

Author SHA1 Message Date
Matan Lurey
35f337ecb4
Skip running Linux fuchsia_test on non-master channel. (#169106)
We already don't build engine artifacts, so it's a matter of time until
this stopped working.

Towards https://github.com/flutter/flutter/issues/169101.

(Need to CP this into 3.32 and 3.33)
2025-05-20 00:50:19 +00:00
engine-flutter-autoroll
b98b1e3ad4
Roll Skia from c97451da059f to 13a299964c9f (61 revisions) (#169099)
Roll Skia from c97451da059f to 13a299964c9f (61 revisions)

https://skia.googlesource.com/skia.git/+log/c97451da059f..13a299964c9f

2025-05-19 thomsmit@google.com [graphite] Add
AccessPattern::kGpuOnlyCopySrc
2025-05-19
recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
Roll recipe dependencies (trivial).
2025-05-19 borenet@google.com [SkPathBuilder] Add missing docstrings and
tests
2025-05-19 bungeman@google.com Change LinearGradientInfo::fColors to
SkColor4f
2025-05-19 kjlubick@google.com Fix implicit copy constructor in
SkRecorder
2025-05-19 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
SwiftShader from 96085ee3c6cc to f70c1194c173 (1 revision)
2025-05-18 robertphillips@google.com [graphite] Enable
AndroidPrecompileTest on Vulkan jobs
2025-05-18 skia-autoroll@skia-public.iam.gserviceaccount.com Manual roll
ANGLE from db71e8fa7c26 to 5fd79e6a2ce8 (11 revisions)
2025-05-18 skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com
Update SKP version
2025-05-16 kjlubick@google.com Fix fontations, icu4x, and vello rust
builds
2025-05-16 bungeman@google.com Roll FreeType from 5d4e649f to 7172bd11
(112 commits)
2025-05-16 borenet@google.com [SkPathBuilder] Add methods needed for
migrating Skia call sites
2025-05-16 danieldilan@google.com Implement drawCoverageMask for Ganesh
2025-05-16 kjlubick@google.com Add initial implementation of
SkRasterContext and SkRasterRecorder
2025-05-16 borenet@google.com [SkPathBuilder] Guard SkPath methods with
out-params behind SK_HIDE_PATH_EDIT_METHODS
2025-05-16 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE
from cc02a537e965 to db71e8fa7c26 (18 revisions)
2025-05-16 jsimmons@google.com Fix shift of the blue component in
store_1010102_xr
2025-05-16 jamesgk@google.com [graphite] Guard solid color expression
lifting
2025-05-15 bungeman@google.com Roll Expat from 624da0f5 to 8e49998f
(3866 commits)
2025-05-15 lehoangquyen@google.com GraphiteDawn: support rendering with
smaller MSAA texture.
2025-05-15 michaelludwig@google.com [graphite] Allow identity CS xforms
in runtime effects
2025-05-15 bungeman@google.com Roll HarfBuzz from ca3cd48f to 4e767271
(792 commits)
2025-05-15 jvanverth@google.com [graphite] Fix for Clip key collision
2025-05-15 thomsmit@google.com [graphite] Fix ARM padding perf
regressions.
2025-05-15 nicolettep@google.com [graphite] Update naming to reflect
that VulkanFramebuffers can be cached
2025-05-15 nicolettep@google.com Fix typo in viewer menu
2025-05-15 thomsmit@google.com [graphite] Make DrawBufferManager buffer
sizes a recorder option.
2025-05-15 jamesgk@google.com [graphite] Set interpolation for lifted
expression varyings
2025-05-15 bungeman@google.com Fix
SkAndroidFrameworkUtils::ShaderAsALinearGradient
2025-05-15
recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
Roll recipe dependencies (trivial).
2025-05-15 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE
from e4ec23a0e5f2 to cc02a537e965 (14 revisions)
2025-05-15 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
SwiftShader from 930d46d31b5d to 96085ee3c6cc (1 revision)
2025-05-15
recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
Roll recipe dependencies (trivial).
2025-05-14 robertphillips@google.com [graphite] Address oddity in
PaintParamsKey building
2025-05-14 jamesgk@google.com Ignore tests that read pixels in Protected
configs
2025-05-14 kylechar@google.com Change use_user_defined_labels_in_backend
toggle
2025-05-14 bungeman@google.com [pdf] Respect
kInterpolateColorsInPremul_Flag
2025-05-14 jamesgk@google.com [graphite] Support lifting from runtime
shader children
2025-05-14 bungeman@google.com Change GradientInfo::fColors to SkColor4f
2025-05-14 michaelludwig@google.com [sksl] Skip inline statement limit
for modules
2025-05-14 nicolettep@google.com [graphite] Add noncoherent advanced
blend mode support
2025-05-14 robertphillips@google.com [graphite] Add YCbCr to Precompile
2025-05-14 robertphillips@google.com [graphite][vulkan] Simplify render
pass key
2025-05-14 michaelludwig@google.com [graphite] Simplify LocalMatrix
shader expression w/ and w/o perspective
2025-05-14 jamesgk@google.com Reland "[graphite] Lift solid color shader
expressions"
2025-05-14 kjlubick@google.com Document instantiateWasm in
CanvasKitInitOptions
...
2025-05-19 23:13:37 +00:00
maRci002
0b9225afdf
Shared element transition for predictive back (#154718)
This PR adds a shared element transition for predictive back navigation,
based on the specification found here:
https://developer.android.com/design/ui/mobile/guides/patterns/predictive-back#shared-element-transition.

A new transition builder added:
`PredictiveBackPageSharedElementTransitionsBuilder`, which constructs
the shared element transition version.

<details><summary>Code sample</summary>

```dart
import 'package:flutter/material.dart';

void main() {
  runApp(const MainApp());
}

class MainApp extends StatelessWidget {
  const MainApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      theme: ThemeData(
        brightness: Brightness.light,
        pageTransitionsTheme: const PageTransitionsTheme(
          builders: {
            TargetPlatform.android: PredictiveBackPageSharedElementTransitionsBuilder(),
          },
        ),
      ),
      home: const FirstScreen(),
    );
  }
}

class FirstScreen extends StatelessWidget {
  const FirstScreen({super.key});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text('First Screen'),
      ),
      body: Center(
        child: ElevatedButton(
          onPressed: () {
            Navigator.of(context).push(
              MaterialPageRoute(builder: (_) => const SecondScreen()),
            );
          },
          child: const Text('Go to Second Screen'),
        ),
      ),
    );
  }
}

class SecondScreen extends StatelessWidget {
  const SecondScreen({super.key});

  @override
  Widget build(BuildContext context) {
    return Theme(
      data: ThemeData(brightness: Brightness.dark),
      child: Scaffold(
        appBar: AppBar(
          title: const Text('Second Screen'),
        ),
        body: const Center(
          child: Text('Hello, Predictive back!'),
        ),
      ),
    );
  }
}
```

</details>


[predictive_back_shared_element.webm](https://github.com/user-attachments/assets/1194cf09-c64f-4b1f-aa3f-10feb0ef12bd)

Partial fix for #153577

---------

Co-authored-by: Justin McCandless <jmccandless@google.com>
2025-05-19 22:06:58 +00:00
Srujan Gaddam
fcfbe83be9
Fix DDC library bundle format test files to correctly pass flags (#169095)
Fixes a couple issues:
- Passes --web-experimental-hot-reload when library bundle format is
enabled.
- Passes chrome id only if chrome is enabled.
- Makes sure common code is run with VM and chrome.

## 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].
- [ ] 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-05-19 22:05:15 +00:00
Littlegnal
77abe867e8
Clean up redundant new line in the GPUSurfaceGLSkia constructor initializer list (#169031)
Clean up redundant new line in the `GPUSurfaceGLSkia` constructor
initializer list

## 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: Jonah Williams <jonahwilliams@google.com>
2025-05-19 21:23:32 +00:00
Loïc Sharma
4b1d2644cb
Fix keyboard_hot_restart_ios flakes (#168518)
The keyboard hot restart test does these steps:

1. It launches an app that forces the keyboard to be visible
2. It checks that the keyboard is visible by examining the app's logs
3. It updates the app to no longer force the keyboard to be visible and
hot restarts the app
4. It checks that the keyboard is no longer visible by examining the
app's logs

Previously, the test app printed the keyboard status whenever the app
rebuilt. The test would move on as soon as it saw a log that indicates
the keyboard was in the expected state. However, since the app could log
the keyboard's visibility _before_ the Dart VM was available, hot
restart commands could be ignored (or at least, that's my theory from
the DeviceLab logs).

Now, the test app prints the keyboard status non-stop. The test now
waits until the Dart VM is available before checking if the logs
indicate the keyboard is open. Also, the test now waits until the hot
restart has completed before checking if the keyboard is closed. In
theory, this should ensure that hot restart does not happen until after
the Dart VM is available.

Follow-up to: https://github.com/flutter/flutter/pull/167013
Part of: https://github.com/flutter/flutter/issues/10713

## 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-05-19 19:05:09 +00:00
Mohellebi abdessalem
ad5c849276
fix android studio lint about lambda argument (#168901)
![ok](https://github.com/user-attachments/assets/f7b3fcb9-def6-49a9-bbbe-365ae8d84ed6)
## 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 followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.
- [ ] 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].

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-05-19 18:08:03 +00:00
Littlegnal
80f5de5da9
Fix typo in gpu_surface_gl_impeller.cc (#168395)
This PR fixes a typo in `gpu_surface_gl_impeller.cc`
encode_calback -> encode_callback

## 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-05-19 18:03:16 +00:00
Emmanuel Ferdman
0bd6394025
Modernize system executable detection across components (#169018)
# PR Summary
This small PR resolves deprecation warnings caused by the use of
`distutils.spawn.find_executable`:
```python
DeprecationWarning: Use shutil.which instead of find_executable
```
Please note that `find_executable` is deprecated from Python 3.10 and
removed in 3.12. `shutil.which` available since Python 3.3.

## 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].
- [ ] 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.
- [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

Signed-off-by: Emmanuel Ferdman <emmanuelferdman@gmail.com>
2025-05-19 18:03:16 +00:00
Sirui Qu
5bcde8fa7b
Update documentation for Size and Rect classes (#168031)
Update documentation for `Size` and `Rect` classes in geometry.dart to
correct references for `centerRight` and `bottomCenter` methods.

Co-authored-by: stuuupidcat <stuuupidcat.3@gmail.com>
2025-05-19 17:58:15 +00:00
Taha Tesser
559c314ba3
Update the RangeSlider widget to the 2024 Material Design appearance (#163736)
Fixes [Update `RangeSlider` for Material 3
redesign](https://github.com/flutter/flutter/issues/162505)

### Description

This PR updates `RangeSlider` with `year2023` flag which can be used to
opt into the 2024 `RangeSlider design appearance.

### Code Sample

<details>
<summary>expand to view the code sample</summary> 

```dart
import 'package:flutter/material.dart';

void main() => runApp(const RangeSliderExampleApp());

class RangeSliderExampleApp extends StatelessWidget {
  const RangeSliderExampleApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      theme: ThemeData(
        sliderTheme: const SliderThemeData(
          showValueIndicator: ShowValueIndicator.always,
        ),
      ),
      home: Scaffold(
        appBar: AppBar(title: const Text('RangeSlider Sample')),
        body: const RangeSliderExample(),
      ),
    );
  }
}

class RangeSliderExample extends StatefulWidget {
  const RangeSliderExample({super.key});

  @override
  State<RangeSliderExample> createState() => _RangeSliderExampleState();
}

class _RangeSliderExampleState extends State<RangeSliderExample> {
  RangeValues _currentRange1Values = const RangeValues(20.0, 60.0);
  RangeValues _currentRange2Values = const RangeValues(30.0, 80.0);

  @override
  Widget build(BuildContext context) {
    return Column(
      spacing: 20.0,
      mainAxisAlignment: MainAxisAlignment.center,
      children: <Widget>[
        RangeSlider(
          year2023: false,
          values: _currentRange1Values,
          max: 100,
          onChanged: (RangeValues values) {
            setState(() {
              _currentRange1Values = values;
            });
          },
        ),
        RangeSlider(
          year2023: false,
          values: _currentRange2Values,
          max: 100,
          divisions: 10,
          labels: RangeLabels(
            _currentRange2Values.start.round().toString(),
            _currentRange2Values.end.round().toString(),
          ),
          onChanged: (RangeValues values) {
            setState(() {
              _currentRange2Values = values;
            });
          },
        ),
      ],
    );
  }
}
```

</details>

| Preview 1 | Preview 2 |
| --------------- | --------------- |
| <img
src="https://github.com/user-attachments/assets/e14a1b04-4e32-4b37-b2f5-2d2001f53114"/>
| <img
src="https://github.com/user-attachments/assets/aad36529-d576-4ec7-b2e5-49c9387456be"/>
|


# Custom track gap and thumb size 

<img width="343" alt="Screenshot 2025-02-20 at 15 26 09"
src="https://github.com/user-attachments/assets/06c09679-1df8-4380-b3e6-c4add8f0cc42"
/>
<img width="338" alt="Screenshot 2025-02-20 at 15 27 19"
src="https://github.com/user-attachments/assets/6226c515-f96b-412a-b59e-cafd2fba0515"
/>

                

## 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].
- [ ] 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-05-19 17:10:12 +00:00
engine-flutter-autoroll
25692db528
Roll Packages from 58d401608590 to af0b9a941dd3 (5 revisions) (#169075)
58d4016085...af0b9a941d

2025-05-19 10687576+bparrishMines@users.noreply.github.com
[webview_flutter_android][webview_flutter_wkwebview] Adds support to
respond to recoverable SSL certificate errors (flutter/packages#9281)
2025-05-19 49699333+dependabot[bot]@users.noreply.github.com
[dependabot]: Bump org.json:json from 20250107 to 20250517 in
/packages/in_app_purchase/in_app_purchase_android/example/android/app
(flutter/packages#9283)
2025-05-19 49699333+dependabot[bot]@users.noreply.github.com
[dependabot]: Bump org.json:json from 20250107 to 20250517 in
/packages/in_app_purchase/in_app_purchase/example/android/app
(flutter/packages#9282)
2025-05-16 10687576+bparrishMines@users.noreply.github.com
[webview_flutter_platform_interface] Adds support to respond to
recoverable SSL certificate errors (flutter/packages#9248)
2025-05-16 10687576+bparrishMines@users.noreply.github.com
[webview_flutter] Adds support to control whether to draw scrollbars
(flutter/packages#9024)

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-05-19 17:03:37 +00:00
Sigurd Meldgaard
b23840d044
Only bundle assets and plugins from transitive closure of dependencies (#160443)
Fixes https://github.com/dart-lang/pub/issues/4486
Fixes https://github.com/dart-lang/pub/issues/4473
Fixes https://github.com/flutter/flutter/issues/79261
Fixes https://github.com/flutter/flutter/issues/160142
Fixes https://github.com/flutter/flutter/issues/155242

Use the new `.dart_tool/package_graph.json` file to compute the
dependency graph. Determining

* which are transitive dependencies of the main app's direct and
dev-dependencies, (not other packages from the workspace)
* which of these are only in the transitive set of the direct
dependencies

Bundles assets from dev_dependencies when running `flutter test`, but
not otherwise.
2025-05-19 15:30:58 +00:00
Victoria Ashworth
63f9060fb0
Make FlutterGeneratedPluginSwiftPackage an Xcode root package (#168789)
This PR makes the `FlutterGeneratedPluginSwiftPackage` swift package an
Xcode root package. A root package is one that is within the Xcode
project as a file reference. See image below:

![Screenshot 2025-05-14 at 2 54
28 PM](https://github.com/user-attachments/assets/c7cd7738-0f1a-4409-a7d1-f3d914a840d9)

This change makes it so that when the
`FlutterGeneratedPluginSwiftPackage` changes, if Xcode is also open,
Xcode will automatically re-resolve the package. This makes Xcode use
the new version instead of whatever it had cached.

Fixes https://github.com/flutter/flutter/issues/162399 and incremental
change towards https://github.com/flutter/flutter/issues/166489.

## 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-05-19 15:27:33 +00:00
Huy
154146d0dd
docs: Update deprecation message for Slider.year2023 (#169053)
Fix https://github.com/flutter/flutter/issues/168637

The `Slider.year2023` documentation in the constructor message wasn't
updated/synced, leading to confusion. It should follow the information
presented in SliderThemeData:


b44f00cca6/packages/flutter/lib/src/material/slider_theme.dart (L302-L307)

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

Signed-off-by: huycozy <huy@nevercode.io>
2025-05-19 07:06:07 +00:00
Chris Bracken
e27377ef4d
macOS: port ResizeSynchronizer to Swift (#168959)
This patch:
* migrates FlutterResizeSynchronizer from Objective-C to Swift.
* reorders the performCommit parameters to support trailing closure
syntax in Swift.
* adds an optional onTimeout parameter to
ResizeSynchronizer.beginResize.
* adds test coverage for the timeout case.
* significantly improves the class documentation.
* adds the first Swift Testing tests for the macOS embedder.
* adds the new tests to run_test.py.

Admittedly, the original purpose was just to add a class that we could
write Swift tests for, but things got a bit out of hand.

Issue: https://github.com/flutter/flutter/issues/168564
Issue: https://github.com/flutter/flutter/issues/144791

## 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-05-18 19:07:08 +00:00
engine-flutter-autoroll
a682cf27b2
Roll Dart SDK from dc323ec0c1a3 to 7c40eba6bf77 (3 revisions) (#169024)
https://dart.googlesource.com/sdk.git/+log/dc323ec0c1a3..7c40eba6bf77

2025-05-17 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-138.0.dev
2025-05-16 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-137.0.dev
2025-05-16 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-136.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 aaclarke@google.com,dart-vm-team@google.com on the revert to
ensure that a human
is aware of the problem.

To file a bug in Flutter:
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-05-17 04:54:34 +00:00
Parker Lougheed
99159bdcfa
[tool] Remove unused reportNullSafety getter (#168484)
Removes the `FlutterCommand.reportNullSafety` getter and its overrides
as it's no longer used due to Flutter and the tool only supporting sound
null safety.

This PR is automatically test exempt due to only removing code.

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

[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-05-17 01:21:26 +00:00
jacobsimionato
e74b5da782
Add flag to skip bundling extension safe builds in frameworks for DDM (#168955)
This attempts to resolve an error like:

```
Cannot find extension safe iOS arm64 Framework at /Volumes/Work/s/w/ir/cache/builder/engine/src/out/ci/ios_debug_ddm_extension_safe/Flutter.framework
ERROR: binaries listed in entitlements.txt, without_entitlements.txt, andunsigned_binaries.txt do not match the set of binaries in the files to be zipped
Binaries found in files to be zipped:
    Flutter.xcframework/ios-arm64/Flutter.framework/Flutter
    Flutter.xcframework/ios-arm64_x86_64-simulator/Flutter.framework/Flutter
    gen_snapshot_arm64
Binaries listed in entitlements.txt, without_entitlements.txt, unsigned_binaries.txt but NOT FOUND:
    extension_safe/Flutter.xcframework/ios-arm64/Flutter.framework/Flutter
    extension_safe/Flutter.xcframework/ios-arm64_x86_64-simulator/Flutter.framework/Flutter
```

This was coming from
[create_ios_framework.py](6de5aed91f/engine/src/flutter/sky/tools/create_ios_framework.py)
which assumes that extension safe frameworks are being built.

I verified that this works using the following:

```sh
et build --config ci/ios_debug_sim_ddm && \
    et build --config ci/ios_debug_sim_arm64_ddm && \
    et build --config ci/ios_debug_ddm && \
    et build --config ci/ios_release_ddm

python3 \
  engine/src/flutter/sky/tools/create_ios_framework.py \
  --dst \
  out/debug_ddm \
  --arm64-out-dir \
  out/ci/ios_debug_ddm \
  --simulator-x64-out-dir \
  out/ci/ios_debug_sim_ddm \
  --simulator-arm64-out-dir \
  out/ci/ios_debug_sim_arm64_ddm \
  --no-extension-safe-frameworks
  ```
2025-05-17 00:10:45 +00:00
chunhtai
56bfc03a09
Fixes Navigator calls onPopInvokedWithResult when onPopPage return false (#168567)
<!--
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
-->

as title

## 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-05-16 23:08:21 +00:00
Gray Mackall
8463d5e87d
[hcpp/hc] Fix talkback for HC and HCPP Android platform views (#168939)
See the description here:
https://github.com/flutter/flutter/issues/113626#issuecomment-2884997160

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

Also, I think we can probably improve the behavior here to respect what
the original view's accessibility importance was, by storing what we are
overwriting at creation time, and then using that later when we undo
what we do at creation time. As is it seems like there would be no way
for a developer to _actually_ set their view to be not important for
accessibility, we are basically forcing them in to auto. Can look into
that in a follow up.

## 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-05-16 22:46:38 +00:00
Jonah Williams
085ca9ed33
[Impeller] separate immutable sampler descriptors. (#169011)
The descriptor set for the immutable sampler may need to be different
than the non-immutable sampler variant. Make the pipeline key signed and
use the sign bit to indicate immutable sampler.

Fixes https://github.com/flutter/flutter/issues/168114
2025-05-16 22:39:56 +00:00
Onnimanni Hannonen
4065d3c7ee
TextField magnifier stuck on long press cancel (#167881)
<!--
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 #167879

This PR fixes bug where magnifier and floating cursor get stuck on
screen when long press is cancelled (eg. by closing the app).

## 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-05-16 22:39:54 +00:00
Bruno Leroux
358e2f003d
Fix Chip delete button semantic bounds (#168310)
## Description

This PR fixes Chip's delete icon semantic tap target.
Chip implementation extends the hit area of the delete icon but it did
not expand the semantic bounds.

### Before


![image](https://github.com/user-attachments/assets/5bcc87dc-6379-456d-a5d6-d3f30c7fda8a)

### After


![image](https://github.com/user-attachments/assets/af9b400c-91b6-4c26-a021-3c812a2b2a78)

## Related Issue

Fixes [Chip delete button tap target does not meet platform recommended
tap target size](https://github.com/flutter/flutter/issues/94098)

## Tests

Adds 1 test.

---------

Co-authored-by: Kate Lovett <katelovett@google.com>
Co-authored-by: chunhtai <47866232+chunhtai@users.noreply.github.com>
2025-05-16 22:39:54 +00:00
engine-flutter-autoroll
25e8e074cf
Roll Fuchsia Linux SDK from Jj-iDG5uPOsFgY2_H... to XtPp9bBW49iDJ0wbA... (#169009)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/fuchsia-linux-sdk-flutter
Please CC aaclarke@google.com,zra@google.com on the revert to ensure
that a human
is aware of the problem.

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

To report a problem with the AutoRoller itself, please file a bug:
https://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-05-16 21:33:26 +00:00
Ben Konyi
4baf4b4d1c
[ Widget Preview ] Refactor @Preview() detection and code generation (#168307)
This change makes the detection of `@Preview(...)` annotations more
robust by converting the analyzer AST directly to generated code rather
than simply copying and pasting the original source. This allows for
proper handling of the following cases WRT import prefixing:

  - The use of `const`
  - String interpolation
  - Other uses of constant variables in non-trivial contexts
  - Etc.
2025-05-16 19:59:25 +00:00
engine-flutter-autoroll
7568202d89
Roll Packages from 2dff6213a892 to 58d401608590 (2 revisions) (#168999)
2dff6213a8...58d4016085

2025-05-16 august.oberhauser@swissinfo.ch [webview_flutter_android]
feat: Expose setUseWideViewPort on Android (#106999)
(flutter/packages#9151)
2025-05-15 engine-flutter-autoroll@skia.org Roll Flutter from
0b9f9288caf3 to 9a78af5eb067 (26 revisions) (flutter/packages#9259)

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-05-16 19:23:16 +00:00
Matan Lurey
456071cd00
Remove unittests from windows_host_engine GN targets. (#168991)
Closes https://github.com/flutter/flutter/issues/168990.

Will shave a few minutes off builds, particularly in resource sensitive
environments like releases.
2025-05-16 18:37:05 +00:00
Jessy Yameogo
b41c8e022b
Fix bug with debugging support code not getting injected on edge devices (#168073)
This PR addresses
[flutter/flutter#167102](https://github.com/flutter/flutter/issues/167102),
where debugging support code was not being properly injected when
running on Edge `flutter run -d edge`. The issue was due to missing
conditions in the injection logic that prevented the debugger service
from initializing correctly in this environment.

This change ensures that debugging support is consistently injected when
connected devices are present and the user has selected one of them.

fix https://github.com/flutter/flutter/issues/167102.
2025-05-16 18:33:31 +00:00
engine-flutter-autoroll
3c6f74c799
Roll Dart SDK from a1db62a5dd14 to dc323ec0c1a3 (4 revisions) (#168989)
https://dart.googlesource.com/sdk.git/+log/a1db62a5dd14..dc323ec0c1a3

2025-05-16 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-135.0.dev
2025-05-16 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-134.0.dev
2025-05-16 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-133.0.dev
2025-05-16 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-132.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 aaclarke@google.com,dart-vm-team@google.com on the revert to
ensure that a human
is aware of the problem.

To file a bug in Flutter:
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-05-16 18:01:05 +00:00
Mitchell Goodwin
57dd0de38c
Resolve Cupertino textstyle in MaterialBasedCupertinoThemeData (#167597)
Fixes #146864. The overridden resolve was keeping the Cupertino text
styles from resolving their dynamic colors depending on the theme
brightness when in a MaterialApp in most cases. I *believe* that this
was to keep values from the Material theme from changing, but as far as
I can tell that shouldn't affect anything in the current state and that
is 6 year old code. Waiting to see if tests make me a liar.

Update: tests made me a liar.

Before (text should be showing):
<img width="423" alt="Screenshot 2025-04-22 at 1 58 53 PM"
src="https://github.com/user-attachments/assets/0aabf6cf-2c25-4446-8d12-69e745f26be0"
/>

After:
<img width="418" alt="Screenshot 2025-04-22 at 1 59 16 PM"
src="https://github.com/user-attachments/assets/ea9958bb-4470-4f16-b5ca-f149be1301b1"
/>


## 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-05-16 17:29:12 +00:00
Jackson Gardner
8ae7b522dc
[skwasm] Add the capability of dumping live object counts in debug mode. (#168389)
This adds a debugging utility that allows us to dump counts of the live
skwasm objects in debug mode. This is useful for understanding memory
leaks.

This is not code that runs in production or affects end users, so I'm
not bothering to write specific unit tests for this functionality.

---------

Co-authored-by: Kevin Moore <kevmoo@users.noreply.github.com>
2025-05-16 17:07:53 +00:00
dogaozyagci
7cbb76d147
Clarify deprecation notice for jumpToWithoutSettling in scroll_position.dart (#167200)
## Description

Improved the `@Deprecated` message for `jumpToWithoutSettling` to
clarify the risks
and suggest appropriate alternatives like `jumpTo` or using a custom
`ScrollPosition`.

This makes the warning more informative for developers, in line with
Flutter's documentation practices.

## Checklist

- [x] Documentation-only change
- [x] No functional logic modified
- [x] Analysis and tests unaffected
2025-05-16 16:38:58 +00:00
Lucas Oliveira
a2c2d2c8de
Replace SizedBox spacing with spacing parameter in Row usages (#168688)
This PR refactors Flutter widgets that use SizedBox for spacing between
children in Row into using the spacing parameter instead.

## 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].
- [x] 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.
- [x] All existing and new tests are passing.
2025-05-16 14:31:20 +00:00
Jim Graham
c685293fc4
[Impeller] Use PathSource for DrawDiffRoundRect (#168942)
We avoid the expense and memory churn of allocating a path by using
stack allocated path source objects to render the DiffRoundRect call.
2025-05-16 00:55:29 +00:00
Matt Boetger
bb2c346f35
Increase logging around loading of libflutter.so (#168706)
Increase logging around libflutter.so. This adds debug logging to the
ReLinker load call as well as more logging in the error case. The split
and source dirs are added to the error message to improve
troubleshooting in the app bundle case. This does not fix the error of
not finding the libflutter.so file, just increases logging to hopefully
help devs find their problem.

Also, this fixes the unit tests which were not correctly getting the
exception in the given test.

Fixes: #168272

## 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-05-15 23:27:52 +00:00
engine-flutter-autoroll
a556dcc9e6
Roll Dart SDK from c9640c3a4440 to a1db62a5dd14 (2 revisions) (#168945)
https://dart.googlesource.com/sdk.git/+log/c9640c3a4440..a1db62a5dd14

2025-05-15 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-131.0.dev
2025-05-15 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.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 aaclarke@google.com,dart-vm-team@google.com on the revert to
ensure that a human
is aware of the problem.

To file a bug in Flutter:
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-05-15 23:27:51 +00:00
Justin McCandless
9ab8eb6609
Include go_router label in framework triage links (#168947)
We decided to do go_router triage as a part of framework triage.
2025-05-15 23:26:07 +00:00
Renzo Olivares
6de5aed91f
Fix selection handles showing when using a mouse (#168751)
Fixes #168252

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

---------

Co-authored-by: Renzo Olivares <roliv@google.com>
2025-05-15 22:13:16 +00:00
Chris Bracken
5cf4a50be9
iOS,macOS: Support using public API in Swift (#168929)
This adds Obj-C/Swift bridging headers to Swift targets, which allows us
to use public Flutter framework API from Swift code in the framework.

This also restricts visibility of the Swift framework targets to the
corresponding framework target. The addition of a bridging header allows
us to use public framework types declared in those headers from Swift,
but those types are defined in the framework target, and thus using the
Swift target directly may result in linking errors in the user. Instead,
all usage of the Swift target should be transitive via the framework
target.

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

## 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-05-15 22:08:09 +00:00
Bruno Leroux
701385d5bd
Homogenize themes documentation (#168808)
## Description

This PR homogenizes `xxxTheme` and `xxxThemeData` classes documentation.
Mainly:
- Points to `xxxTheme.of` from `xxxThemeData` documentation instead of
using pseudo code (and add a code block in `xxxTheme.of` documentation
when it was missing.
- Fix `xxxTheme.of` documentation when the comment did not specify the
correct return type.

## Tests

Documentation only
2025-05-15 21:57:52 +00:00
Parker Lougheed
77ba015769
[tool] Fix broken comment references and code spans in doc comments (#168498)
Enables the `comment_references` and `unintended_html_in_doc_comment`
lints in `packages/flutter_tool`, then fixes each of the triggering
cases.

This PR is test exempt due to only affecting documentation comments.

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

[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-05-15 21:14:26 +00:00
Matan Lurey
83c3c91645
Add bringup: true Linux orchestrators that schedule Windows engine builds (#168937)
Towards https://github.com/flutter/flutter/issues/168934.

/cc @reidbaker as release engineer.
2025-05-15 19:57:31 +00:00
Elliott Brooks
1329c8c2bd
[Widget Inspector] Fix missing cupertino icon in on-device inspector (#168847)
Resolves https://github.com/flutter/flutter/issues/168846

This is a follow-up to https://github.com/flutter/flutter/pull/167677.
For apps that do not import `package:cupertino_icons`, the new on-device
button's icon shows up as a `[?]`.

This fix:
* adds an explicit dependency on `package:cupertino_icons` to the
framework
* imports `CupertinoIcons` into `lib/src/widgets/app.dart` 

*Note: For some reason, adding the import to
`packages/flutter/lib/src/material/app.dart` and
`packages/flutter/lib/src/cupertino/app.dart` did not resolve the issue.
That's why I've added it to `lib/src/widgets/app.dart`, even though it's
not actually used in that file.*

**Let me know if this is acceptable!** (cc @Piinks) I'm guessing we
might not want to add a dependency on `cupertino_icons` to the Framework
(this might even be breaking change?) so if not, it might make sense to
use a different icon for the on-device inspector. Thanks!
2025-05-15 19:55:21 +00:00
Jim Graham
cdd6be4798
[Impeller] Delete redundant impeller path classes (#168760)
Nearly all parts of the Impeller rendering pipeline now rely on DlPath
and PathSource objects for their path description needs. The impeller
path only exists for impeller's unit tests and benchmarks to have a
local way to construct paths. We implement path construction for the
DlPath object via DlPathBuilder which makes the impeller family of path
objects functionally obsolete and so they are now deleted.
2025-05-15 18:42:23 +00:00
Ben Konyi
9a78af5eb0
Manual pub package roll (#168916) 2025-05-15 18:05:11 +00:00
Matan Lurey
9214ed12db
Remove unnecessary bringup: true for release-channel only Linux flutter_packaging. (#168761)
Annotated in https://github.com/flutter/flutter/pull/126281.

I'm not sure this ever made sense - since it's only enabled on `beta`
and `stable` ... `bringup: true` does nothing.
2025-05-15 17:17:56 +00:00
Matan Lurey
94c661082c
Revert: "Run flutter_packaging builders on release candidates (#168917)
This reverts commit 567162a91c872e9642faeedc15ee10535637da83.

`flutter_packaging` builders only should run on `stable` or `beta`, the
original definition was correct.
2025-05-15 17:11:04 +00:00
engine-flutter-autoroll
a164f65386
Roll Dart SDK from a6c25e31caa7 to c9640c3a4440 (1 revision) (#168911)
https://dart.googlesource.com/sdk.git/+log/a6c25e31caa7..c9640c3a4440

2025-05-15 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.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 aaclarke@google.com,dart-vm-team@google.com on the revert to
ensure that a human
is aware of the problem.

To file a bug in Flutter:
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-05-15 16:44:52 +00:00
engine-flutter-autoroll
d69edc303b
Roll Packages from 14685811ed39 to 2dff6213a892 (4 revisions) (#168908)
14685811ed...2dff6213a8

2025-05-15 10687576+bparrishMines@users.noreply.github.com [pigeon]
Prevents premature finalization from unused Dart instance for ProxyApis
(flutter/packages#9231)
2025-05-14 louisehsu@google.com [in_app_purchase] Bump
`in_app_purchase_storekit` version (flutter/packages#9247)
2025-05-14 engine-flutter-autoroll@skia.org Roll Flutter from
336a7ecf7b40 to 0b9f9288caf3 (22 revisions) (flutter/packages#9251)
2025-05-14 10687576+bparrishMines@users.noreply.github.com
[webview_flutter_android][webview_flutter_wkwebview] Adds support to set
whether to draw the scrollbar (flutter/packages#9249)

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-05-15 16:03:05 +00:00