engine-flutter-autoroll
6da9f78b22
Roll Skia from f8f5c61d4197 to 15b0d7575e64 (1 revision) ( #164547 )
...
https://skia.googlesource.com/skia.git/+log/f8f5c61d4197..15b0d7575e64
2025-03-04 hcm@google.com Update Skia milestone to 136
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 codefu@google.com ,kjlubick@google.com,michaelludwig@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-03-04 16:02:10 +00:00
Robert Ancell
3b884b0871
Don't process cursor changes until view is realized. ( #164349 )
...
For views created with fl_view_new_for_engine() the cursor processing
was subscribed to before the window had realized. This caused the
following warnings on startup:
[+3105 ms] (com.example.flutter_multi_view_test:619234): Gdk-CRITICAL
**: 13:00:35.501: gdk_window_get_display: assertion 'GDK_IS_WINDOW
(window)' failed
[ ] (com.example.flutter_multi_view_test:619234): Gdk-CRITICAL **:
13:00:35.501: gdk_cursor_new_from_name: assertion 'GDK_IS_DISPLAY
(display)' failed
[ ] (com.example.flutter_multi_view_test:619234): Gdk-CRITICAL **:
13:00:35.501: gdk_window_set_cursor: assertion 'GDK_IS_WINDOW (window)'
failed
Co-authored-by: Matthew Kosarek <matt.kosarek@canonical.com>
2025-03-04 15:37:02 +00:00
Matthew Kosarek
9246b02af1
feature: make the text input plugin use the correct view on the Windows platform ( #163847 )
...
## What's new?
- Updates the `TextInput.setClient` method to expect a view ID, which is
already being sent up by clients. This makes it so that the IME info
shows on the text input correctly across views 🎉 . Also - text input
on windows works properly across views (although it was working before
too)
- Using the view ID in `TextInputPlugin::HandleMethodCall` to resolve
the view
- Update tests to no longer assume that we are using the implicit view
id
- Add two tests to ensure that the view id is set
## What's fixed?
- Partially fixes: https://github.com/flutter/flutter/issues/142845
## 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-03-04 15:22:20 +00:00
engine-flutter-autoroll
98bedbe313
Roll Skia from 52d06100a044 to 6912d66c0c7a (1 revision) ( #164526 )
...
https://skia.googlesource.com/skia.git/+log/52d06100a044..6912d66c0c7a
2025-03-04 lokokung@google.com [dawn][headers] Removes use of ifdef for
Descriptor change.
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 kjlubick@google.com ,matanl@google.com,michaelludwig@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-03-04 02:42:44 +00:00
Chris Bracken
88f8104411
Eliminate platform-specific logging in core engine ( #164522 )
...
In f4d1c89df1329f8b868812e360409ec06f7abed1 (flutter/engine#25402 ),
logging was extracted into the embedder API. In subsequent patches, this
logic was extracted into the iOS, Android, macOS, Windows, and Linux
embedders. The platform-specific fallback logging in `ui_dart_state.cc`
is therefore no longer necessary and should not exist in the
platform-portable engine.
For referece, platform-specific logging can now be found in the
following locations:
iOS:
060e159d53/engine/src/flutter/shell/platform/darwin/ios/framework/Source/FlutterDartProject.mm (L74-L84)
Android:
ad3d8f5934/engine/src/flutter/shell/platform/android/flutter_main.cc (L175-L179)
Embedder API:
ad3d8f5934/engine/src/flutter/shell/platform/embedder/embedder.cc (L2096-L2104)
macOS:
ad3d8f5934/engine/src/flutter/shell/platform/darwin/macos/framework/Source/FlutterEngine.mm (L643-L649)
Windows and Linux are extracted in this patch, and the fallback to log
to stdout is moved into the embedder API shim.
No test changes since this is a refactoring with no behaviour changes,
and covered by existing tests, such as:
ad3d8f5934/engine/src/flutter/shell/platform/darwin/macos/framework/Source/FlutterEngineTest.mm (L205-L225)
## 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-03-04 02:34:32 +00:00
engine-flutter-autoroll
ad3d8f5934
Roll Skia from a11cc17d0133 to 52d06100a044 (2 revisions) ( #164515 )
...
https://skia.googlesource.com/skia.git/+log/a11cc17d0133..52d06100a044
2025-03-03 michaelludwig@google.com [skif] Use SkM44 in skif::Mapping
2025-03-03 danieldilan@google.com Reland "Remove transform_scanline
functions from SkJpegEncoderImpl"
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 kjlubick@google.com ,matanl@google.com,michaelludwig@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-03-03 22:46:20 +00:00
Chris Bracken
060e159d53
android: Build universal gen_snapshot for Android ( #164453 )
...
This adopts the macOS/iOS rules for creating the `gen_snapshot_arm64`
and `gen_snapshot_armv7` for both arm64 targets (`gen_snapshot_arm64`)
and armv7 targets (`gen_snapshot_armv7`) on both arm64 and x64 macOS
hosts. The macOS and iOS rules have already been updated to generate
universal binaries for each of these that can be run on both Apple
Silicon and Intel Mac hosts.
The `create_arm_gen_snapshot` rule remains until I'm 100% convinced it's
not used for anything else. Will send a follow-up patch removing it so
as not to conflate the two.
No test changes since this is covered by existing build/integration
tests.
Fixes: https://github.com/flutter/flutter/issues/152281
Issue: https://github.com/flutter/flutter/issues/69157
## 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-03-03 21:50:31 +00:00
Loïc Sharma
7d8c78ce20
[A11y] Add radio group role ( #164154 )
...
This adds a new "radio group" accessibility role to `dart:ui` and the
Flutter web engine.
This does not update existing widgets to use this new role. Currently,
users must manually add a `Semantics` widget to use this accessibility
role. See the example app below.
Part of: https://github.com/flutter/flutter/issues/162093
## Example app
<details>
<summary>Example app that uses the radio group role...</summary>
```dart
import 'dart:ui';
import 'package:flutter/material.dart';
import 'package:flutter/semantics.dart';
void main() {
runApp(const RadioExampleApp());
SemanticsBinding.instance.ensureSemantics();
}
class RadioExampleApp extends StatelessWidget {
const RadioExampleApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(title: const Text('Radio Sample')),
body: const Center(child: RadioExample()),
),
);
}
}
class RadioExample extends StatefulWidget {
const RadioExample({super.key});
@override
State<RadioExample> createState() => _RadioExampleState();
}
class _RadioExampleState extends State<RadioExample> {
int _groupValue = 0;
@override
Widget build(BuildContext context) {
return Semantics(
label: 'Radio group',
role: SemanticsRole.radioGroup,
explicitChildNodes: true,
child: Column(
children: <Widget>[
ListTile(
title: const Text('Foo'),
leading: Radio<int>(
value: 0,
groupValue: _groupValue,
onChanged: (int? value) => setState(() => _groupValue = value ?? 0),
),
),
ListTile(
title: const Text('Bar'),
leading: Radio<int>(
value: 1,
groupValue: _groupValue,
onChanged: (int? value) => setState(() => _groupValue = value ?? 0),
),
),
],
),
);
}
}
```
</details>
<details>
<summary>Accessibility tree...</summary>
```
SemanticsNode#0
│ Rect.fromLTRB(0.0, 0.0, 1200.0, 924.0)
│
└─SemanticsNode#1
│ Rect.fromLTRB(0.0, 0.0, 1200.0, 924.0)
│ textDirection: ltr
│
└─SemanticsNode#2
│ Rect.fromLTRB(0.0, 0.0, 1200.0, 924.0)
│ sortKey: OrdinalSortKey#83a1d(order: 0.0)
│
└─SemanticsNode#3
│ Rect.fromLTRB(0.0, 0.0, 1200.0, 924.0)
│ flags: scopesRoute
│
├─SemanticsNode#9
│ │ Rect.fromLTRB(0.0, 0.0, 1200.0, 56.0)
│ │
│ └─SemanticsNode#10
│ Rect.fromLTRB(532.6, 14.0, 667.4, 42.0)
│ flags: isHeader
│ label: "Radio Sample"
│ textDirection: ltr
│
└─SemanticsNode#4
│ Rect.fromLTRB(0.0, 56.0, 1200.0, 924.0)
│ label: "Radio group"
│ textDirection: ltr
│ role: radioGroup
│
├─SemanticsNode#5
│ │ Rect.fromLTRB(0.0, 0.0, 1200.0, 48.0)
│ │ flags: hasSelectedState, hasEnabledState, isEnabled
│ │ label: "Foo"
│ │ textDirection: ltr
│ │
│ └─SemanticsNode#6
│ Rect.fromLTRB(16.0, 8.0, 48.0, 40.0)
│ actions: focus, tap
│ flags: hasCheckedState, hasSelectedState, hasEnabledState,
│ isEnabled, isInMutuallyExclusiveGroup, isFocusable
│
└─SemanticsNode#7
│ Rect.fromLTRB(0.0, 48.0, 1200.0, 96.0)
│ flags: hasSelectedState, hasEnabledState, isEnabled
│ label: "Bar"
│ textDirection: ltr
│
└─SemanticsNode#8
Rect.fromLTRB(16.0, 8.0, 48.0, 40.0)
actions: focus, tap
flags: hasCheckedState, isChecked, hasSelectedState, isSelected,
hasEnabledState, isEnabled, isInMutuallyExclusiveGroup,
isFocusable
```
</details>
<details>
<summary>HTML generated by Flutter web...</summary>
```html
<html>
...
<body flt-embedding="full-page" flt-renderer="canvaskit" flt-build-mode="debug" spellcheck="false" style="...">
...
<flt-announcement-host>
<flt-announcement-polite aria-live="polite" style="...">
<flt-announcement-assertive aria-live="assertive" style="...">
<flutter-view style="...">
<flt-glass-pane></flt-glass-pane>
<flt-text-editing-host></flt-text-editing-host>
<flt-semantics-host style="...">
<flt-semantics id="flt-semantic-node-0" style="...">
<flt-semantics-container style="...">
<flt-semantics id="flt-semantic-node-1" style="...">
<flt-semantics-container style="...">
<flt-semantics id="flt-semantic-node-2" style="...">
<flt-semantics-container style="...">
<flt-semantics id="flt-semantic-node-3" role="dialog" style="...">
<flt-semantics-container style="...">
<flt-semantics id="flt-semantic-node-9" style="...">
<flt-semantics-container style="...">
<h2 id="flt-semantic-node-10" tabindex="-1" style="...">
Radio Sample</h2>
</flt-semantics-container>
</flt-semantics>
<flt-semantics id="flt-semantic-node-4" role="radiogroup" aria-label="Radio group"
style="...">
<flt-semantics-container style="...">
<flt-semantics id="flt-semantic-node-5" role="group" aria-label="Foo"
aria-selected="false" style="...">
<flt-semantics-container style="...">
<flt-semantics id="flt-semantic-node-6" tabindex="0" flt-tappable="" role="radio"
aria-checked="false" style="...">
</flt-semantics>
</flt-semantics-container>
</flt-semantics>
<flt-semantics id="flt-semantic-node-7" role="group" aria-label="Bar"
aria-selected="false" style="...">
<flt-semantics-container style="...">
<flt-semantics id="flt-semantic-node-8" tabindex="0" flt-tappable="" role="radio"
aria-checked="true" style="...">
</flt-semantics>
</flt-semantics-container>
</flt-semantics>
</flt-semantics-container>
</flt-semantics>
</flt-semantics-container>
</flt-semantics>
</flt-semantics-container>
</flt-semantics>
</flt-semantics-container>
</flt-semantics>
</flt-semantics-container>
</flt-semantics>
</flt-semantics-host>
</body>
</html>
```
</details>
## 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-03-03 21:42:08 +00:00
engine-flutter-autoroll
67f0c45b6e
Roll Skia from 1e9fa50fc296 to a11cc17d0133 (1 revision) ( #164505 )
...
https://skia.googlesource.com/skia.git/+log/1e9fa50fc296..a11cc17d0133
2025-03-03 jamesgk@google.com [graphite] Require interpolation settings
for precomp gradient objects
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 kjlubick@google.com ,matanl@google.com,michaelludwig@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-03-03 20:25:23 +00:00
Jonah Williams
696251d25a
[Android] match dequeued images to FIF. ( #164422 )
...
Fixes https://github.com/flutter/flutter/issues/162795
The ImageReaderSurfaceProducer must not close images until the renderer,
either Skia OpenGL, Impeller OpenGL, or Impeller Vulkan is done reading
from them. The Vulkan renderer allows up to two frames in flight before
backpressure is applied. This implies that we may need to keep up to two
images beyond the current image alive. Closing the images before the
frame that references them has finished rendering can result in tearing
or other incorrect rendering.
How do I test?
2025-03-03 19:29:18 +00:00
zijiehe@
80d0a8b8de
[Fuchsia] Enable extra test suits and correct the error reasons ( #164338 )
...
Fuchsia does not support Dart_LoadELF, the tests are expected to fail.
So this change explicitly disables the related tests instead of removing
the suites.
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-03-03 17:39:14 +00:00
engine-flutter-autoroll
04d39343a6
Roll Fuchsia Linux SDK from AO1KirSDI7-MVYNPN... to Rt6pxGFLVAJHduM0V... ( #164474 )
...
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 matanl@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-03-03 17:22:33 +00:00
engine-flutter-autoroll
619d424811
Roll Fuchsia Linux SDK from ln3joxJfRN2XGhvCv... to AO1KirSDI7-MVYNPN... ( #164440 )
...
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 matanl@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-03-02 07:44:42 +00:00
Chris Bracken
8fe6208a73
android: Clean up gen_snapshot artifact build ( #164418 )
...
Previously, when producing the Android artifacts zip archive, we were
relying directly on the transitively deep-down target in
`//flutter/third_party/dart` that produces it rather than on the
`//flutter/lib/snapshot:generate_snapshot_bins` target that generates
the gen_snapshot binaries for Flutter.
Also documents and renames `gen_snapshot_path` and `gen_snapshot_bin`
for clarity.
In a followup patch, I'll be refactoring Flutter's
`generate_snapshot_bins` target to produce a universal (x64/arm64)
`gen_snapshot` on macOS hosts, so we should rely on our own target
instead.
Issue: https://github.com/flutter/flutter/issues/69157
## 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-03-02 01:01:07 +00:00
Chris Bracken
0c055f2c50
Add macos/android_debug_unopt to local_engine.json ( #164410 )
...
Adds a local build for the 32-bit Android embedder on macOS hosts.
## 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-03-01 06:48:18 +00:00
Chris Bracken
d6089dde09
Delete unused build archive targets ( #164414 )
...
This migration is incomplete and is no longer planned.
Issue: https://github.com/flutter/flutter/issues/105351
## 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-03-01 06:16:04 +00:00
engine-flutter-autoroll
87c87c09af
Roll Fuchsia Linux SDK from QMun2itYrV_zUYrvW... to ln3joxJfRN2XGhvCv... ( #164423 )
...
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 matanl@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-03-01 05:30:25 +00:00
engine-flutter-autoroll
207e1e37bb
Roll Skia from ac14158663ea to ad64415050aa (1 revision) ( #164413 )
...
https://skia.googlesource.com/skia.git/+log/ac14158663ea..ad64415050aa
2025-02-28 kjlubick@google.com More cleanups in blitter code
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 ,kjlubick@google.com,matanl@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-03-01 01:26:25 +00:00
Eric Seidel
3f2e57906f
Update linux_host_engine.json ci/host_release description ( #164402 )
...
Describe what is actually being produced by this target.
This target was just copy/pasted from the debug target (which does
produce more things), but really what this is doing is
compiling/uploading flutter_patched_sdk_product.zip which is used by
*all* release mode targets.
2025-03-01 00:38:28 +00:00
engine-flutter-autoroll
7f23dc7a0d
Roll Skia from 4005ba3ca7b6 to ac14158663ea (7 revisions) ( #164404 )
...
https://skia.googlesource.com/skia.git/+log/4005ba3ca7b6..ac14158663ea
2025-02-28 lukasza@chromium.org [rust png] Refreshing TODO comments to
point to most-recent bugs.
2025-02-28 lokokung@google.com [dawn][headers] Removes ifdefs for
wgpu::Limits.
2025-02-28 kjlubick@google.com Add test for SkBlendARGB32
2025-02-28 kjlubick@google.com Move SkColorData to src/core
2025-02-28 borenet@google.com [infra] Fixes to support iOS devices in
new lab
2025-02-28 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE
from 96a1bda4c1b6 to 421109ac5be0 (6 revisions)
2025-02-28 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn
from 2f85feff104d to 922ff58ecda3 (13 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 brettos@google.com ,kjlubick@google.com,matanl@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-28 23:05:16 +00:00
Matej Knopp
07503bbc82
[macOS] Prepare FlutterKeyboardManager for multi-view ( #163962 )
...
Notable changes:
- Moved keyboard layout related code from `FlutterViewController` to
`FlutterKeyboardLayout`.
- `FlutterKeyboardManager` is now owned by the engine and shared between
view controllers. The per view controller part, which is associated with
event, has been moved from `FlutterKeyboardManager` delegate to
`FlutterKeyboardManagerEventContext`.
- The `FlutterKeyboardManagerDelegate` is implemented by
`FlutterEngine`.
- Some overall clean-up and dead code removal (i.e. `_NSResponderPtr`
and `NextResponderProvider`)
## 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: Tong Mu <dkwingsmt@users.noreply.github.com>
2025-02-28 22:28:25 +00:00
Matej Knopp
b831b269c5
Add PlatformDispatcher.engineId ( #163476 )
...
Fixes https://github.com/flutter/flutter/issues/163430 .
This PR adds `engineId` field to `PlatformDispatcher`. When provided by
the engine, this can be used to retrieve the engine instance from native
code.
Dart code:
```dart
final identifier = PlatformDispatcher.instance.engineId!;
```
macOS, iOS:
```objc
FlutterEngine *engine = [FlutterEngine engineForIdentifier: identifier];
```
Android:
```java
FlutterEngine engine = FlutterEngine.engineForId(identifier);
```
Linux
```cpp
FlEngine *engine = fl_engine_for_id(identifier);
```
Windows
```cpp
FlutterDesktopEngineRef engine = FlutterDesktopEngineForId(identifier);
```
*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] 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-28 22:20:11 +00:00
Robert Ancell
933cb5da82
Support forward and back buttons ( #164356 )
...
Based on https://github.com/flutter/flutter/pull/163500 by @2bndy5
2025-02-28 14:28:47 +00:00
Robert Ancell
25b3a4743a
Fix window creation callback for multi-window ( #164353 )
...
The windowing handler wasn't being created early enough and the view
wasn't visibile by default.
2025-02-28 13:41:10 +00:00
John McDole
0149760734
Remove Mac mac_unopt
presubmit retry count ( #164350 )
...
https://github.com/flutter/flutter/issues/157636#issuecomment-2689493410
fyi: @flar
2025-02-28 03:33:38 +00:00
engine-flutter-autoroll
c9d0176a46
Roll Fuchsia Linux SDK from 1elkOxihZuTEiTXzY... to QMun2itYrV_zUYrvW... ( #164351 )
...
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 matanl@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-02-28 03:14:30 +00:00
Jonah Williams
cd7a24c1b9
[Android] Use java for looking up Android API level. ( #163558 )
...
android_get_device_api_level is an API 24 API, whereas flutter supports
down to API 21. We have other places in the engine that use this API but
they're not on paths that work < 29. Even though the ndk API seems to
work on older devices we should still probably not rely on it...
2025-02-28 01:59:42 +00:00
chunhtai
37ff5a337a
Wires up expanded state in web engine ( #164048 )
...
<!--
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/162141
## 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
---------
Co-authored-by: Mouad Debbar <mouad.debbar@gmail.com>
2025-02-27 23:44:01 +00:00
Robert Ancell
407065ea20
Replace update semantics handler with signal. ( #163583 )
...
The previous code was built where there was only one view, and this view
provided the callback to the engine.
Now we have multiple views, they all should process the semantics update
and so the callback is replaced with a signal. This is similar to the
signal used for engine restarts.
---------
Co-authored-by: Harlen Batagelo <hbatagelo@gmail.com>
2025-02-27 23:30:53 +00:00
gaaclarke
bffe0ffc50
Split up the conical gradient fragment shader ( #164058 )
...
fixes: https://github.com/flutter/flutter/issues/163580
testing: There are existing tests (AiksTest.CanRenderConicalGradient).
The compilation failure of the nexus 5 cannot be reproduced locally so
we can't assert this fixes the problem in a test.
## Pre-launch Checklist
- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [ ] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.
If you need help, consider asking for advice on the #hackers-new channel
on [Discord].
<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-02-27 23:30:53 +00:00
engine-flutter-autoroll
244c61133c
Roll Skia from c16b145749d4 to 4005ba3ca7b6 (3 revisions) ( #164339 )
...
https://skia.googlesource.com/skia.git/+log/c16b145749d4..4005ba3ca7b6
2025-02-27 robertphillips@google.com [graphite] Add Pipeline
serialization to Dawn
2025-02-27 markdavidscott@google.com Adds a method to retrieve JUMBF
metadata.
2025-02-27 jvanverth@google.com [graphite] Append new clip cache entries
to end of list.
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 ,kjlubick@google.com,matanl@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-27 23:03:57 +00:00
Matan Lurey
3ab49e7d9a
Delete and update stale documentation regarding engine/engine hash. ( #164324 )
...
This is intended to be merged _after_
https://github.com/flutter/flutter/pull/164317 .
2025-02-27 22:49:58 +00:00
Matan Lurey
fe6c05b778
Update links to the flutter/engine
repository for the monorepo. ( #164328 )
...
Just general cleanup while working on other things.
2025-02-27 21:57:59 +00:00
Gray Mackall
c9c3e74747
Add empty io.flutter.app.FlutterApplication
to give deprecation notice, and un-break projects that have not migrated ( #164233 )
...
The removal of the v1 embedding missed that this class was not marked as
deprecated, and did not provide a notice in the breaking changes
section. V1 apps that needed the functionality of the old
`FlutterApplication` were all broken in the previous release, but some
V2 apps have been referencing the v1 `FlutterApplication`.
For these apps, this is the same as extending the base
`android.app.Application`. So we can provide an "empty extension" of
that base class, to provide these v2 apps a deprecation notice, and
avoid breaking them without warning (in 3.29.1).
Arbitrarily chose the `spell_checker` integration test to reference this
empty application, let me know if you think I should bring up an
entirely new devicelab test instead.
## 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.
- [ ] 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-27 21:47:12 +00:00
Alexander Aprelev
6ec7ae3a1c
Revert dart sdks that were causing dartaotruntime issues in g3 ( #164307 )
...
Revert four collateral rolls, one with offending change
https://dart-review.googlesource.com/c/sdk/+/410921
Revert "Roll Dart SDK from b8292dfeaa67 to 80865748abe0 (9 revisions)
(#164168 )"
Revert "Roll Dart SDK from 80865748abe0 to 7fa5901bd8a3 (3 revisions)
(#164226 )"
Revert "Roll Dart SDK from 7fa5901bd8a3 to 4a218fbffc80 (2 revisions)
(#164260 )"
Revert "Roll Dart SDK from 4a218fbffc80 to fcda71ce147b (1 revision)
(#164276 )"
Revert "Roll Dart SDK from fcda71ce147b to d70b123c77d4 (1 revision)
(#164295 )"
2025-02-27 21:06:23 +00:00
Kevin Moore
2bc40b39dc
[web_ui] dependency cleanup ( #164256 )
...
Update dependencies across 3 web engine packages
Remove unneeded dependencies
One set of associated code fixes
2025-02-27 19:21:18 +00:00
engine-flutter-autoroll
0c200c7a09
Roll Skia from e5a33102401c to c16b145749d4 (1 revision) ( #164314 )
...
https://skia.googlesource.com/skia.git/+log/e5a33102401c..c16b145749d4
2025-02-27 jamesgk@google.com Reland "[graphite] Require colorspaces for
precomp color xform objects"
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 ,kjlubick@google.com,matanl@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-27 19:16:48 +00:00
Kevin Moore
671bcbe6d6
[web_ui] move several uses of (deprecated) pkg:js to js_interop_unsafe ( #164264 )
2025-02-27 18:46:01 +00:00
engine-flutter-autoroll
7c0c98eb7b
Roll Dart SDK from fcda71ce147b to d70b123c77d4 (1 revision) ( #164295 )
...
https://dart.googlesource.com/sdk.git/+log/fcda71ce147b..d70b123c77d4
2025-02-27 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.8.0-149.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 ,matanl@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-27 15:22:06 +00:00
engine-flutter-autoroll
458a1f2e00
Roll Dart SDK from 4a218fbffc80 to fcda71ce147b (1 revision) ( #164276 )
...
https://dart.googlesource.com/sdk.git/+log/4a218fbffc80..fcda71ce147b
2025-02-27 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.8.0-148.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 ,matanl@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-27 10:11:34 +00:00
Robert Ancell
d8a57c61dd
Add windowing channel support to Linux embedder ( #163180 )
...
Implement flutter/windowing for the Linux embedder.
2025-02-27 04:14:20 +00:00
engine-flutter-autoroll
11d33f203e
Roll Dart SDK from 7fa5901bd8a3 to 4a218fbffc80 (2 revisions) ( #164260 )
...
https://dart.googlesource.com/sdk.git/+log/7fa5901bd8a3..4a218fbffc80
2025-02-27 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.8.0-147.0.dev
2025-02-26 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.8.0-146.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 ,matanl@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-27 03:58:33 +00:00
engine-flutter-autoroll
e6f4fa4204
Roll Skia from fdd97386193e to 0f2e106c9abc (4 revisions) ( #164259 )
...
https://skia.googlesource.com/skia.git/+log/fdd97386193e..0f2e106c9abc
2025-02-26 jamesgk@google.com [graphite] Remove guards for
RenderPassProperties field
2025-02-26 egdaniel@google.com Fix equality check in VulkanBuffer for
host access.
2025-02-26 robertphillips@google.com [graphite] Reduce
SkRuntimeEffect::Options overhead for KnownRuntimeEffects
2025-02-26 jvanverth@google.com [graphite] Remove most validation from
ClipAtlas.
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 ,kjlubick@google.com,matanl@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-27 03:36:31 +00:00
John McDole
4b65ead926
Run more builds faster ( #164125 )
...
The following builds all download drone assets and run generators, and
thus could benefit from the flags.
- Linux linux_android_aot_engine
- Linux linux_android_debug_engine
- Linux linux_fuchsia
- Linux linux_host_engine
See #164069 for other builds
2025-02-27 03:10:42 +00:00
Jason Simmons
1d25f6953d
Reland "Add a buildtools directory and move third_party/ninja to the project root in order to match the expectations of depot_tools" ( #164240 )
...
Relands https://github.com/flutter/flutter/pull/163890 and updates the
Ninja path used by the engine tool
2025-02-27 00:13:58 +00:00
Liam Appelbe
0f3b092a10
Use the Dart isolate ownership API on the root isolate ( #163703 )
...
The isolate ownership API was [introduced
recently](https://dart-review.googlesource.com/c/sdk/+/407700 ) to solve
[some deadlock bugs](https://github.com/dart-lang/native/issues/1908 ) in
native callbacks.
A native callback is a call from native code into a Dart function.
Currently all such callbacks must run that Dart function in the isolate
that created the callback (called the target isolate). The only native
callback primitives at the moment are `NativeCallable.isolateLocal`
(blocking, but must be invoked from the same thread as the target
isolate, and the target isolate must be currently entered on that
thread) and `NativeCallable.listener` (non-blocking, can be invoked from
any thread).
To build blocking callbacks that can be called from any thread, we can
use a `NativeCallable.listener`, and use a synchronization object like a
mutex or a condition variable to block until the callback is complete.
However, if we try to do this on the thread that is currently entered in
the target isolate, we will deadlock: we invoke the listener, a message
is sent to the target isolate, and we block waiting for the message to
be handled, so we never pass control flow back to the isolate to handle
the message, and never stop waiting.
To fix this deadlock, Ffigen and Jnigen both have a mechanism that
checks if we're on the target isolate's thread first:
- If the native caller is already on the same thread as the target
isolate, and the target isolate is entered:
- Call the Dart function directly using `NativeCallable.isolateLocal` or
similar
- Otherwise, if the native caller is coming from a different thread:
- Call the Dart function asynchronously using `NativeCallable.listener`
or similar
- Block until the callback finishes
However, this neglects the case where we're on the target isolate's
thread, but not entered into the isolate. This case happens in Flutter
when the callback is invoked from the UI thread (or the platform thread
when thread merging is enabled), and the target isolate is the root
isolate. When the native callback is invoked, the root isolate is not
entered, so we hit the second case: we send a message to the root
isolate, and block to wait for a response. Since the root isolate is
exclusively run on the UI thread, and we're blocking the UI thread, the
message will never be handled, and we deadlock.
The isolate ownership API fixes this by allowing the embedder to inform
the VM that it will run a particular isolate exclusively on a particular
thread, using `Dart_SetCurrentThreadOwnsIsolate`. Other native code can
then query that ownership using `Dart_GetCurrentThreadOwnsIsolate`. This
lets us add a third case to our conditional:
- If the native caller is on the thread that is currently entered in the
target isolate:
- Call the Dart function directly using `NativeCallable.isolateLocal` or
similar
- Otherwise, if the native caller is on the thread that owns the target
isolate
- Enter the target isolate
- Call the Dart function directly using `NativeCallable.isolateLocal `or
similar
- Exit the target isolate
- Otherwise, the native caller is coming from an unrelated thread:
- Call the Dart function asynchronously using `NativeCallable.listener`
or similar
- Block until the callback finishes
**Note:** We don't need to set the ownership of VM managed threads,
because they run in a thread pool exclusively used by the VM, so there's
no way for native code to be executed on the thread (except by FFI, in
which case we're entered into the isolate anyway). We only need this for
Flutter's root isolate because work can be sent to the UI
thread/platform thread using OS specific APIs like Android's
`Looper.getMainLooper()`.
2025-02-27 00:05:53 +00:00
Gray Mackall
b287365b21
Implement opacity FlutterMutator
for hcpp ( #164147 )
...
This is essentially a reland of
https://github.com/flutter/engine/pull/30264/ , except that it only
applies the opacity if the new alpha (alpha = 255*opacity, where
opacity∈[0,1]) is different from the current alpha.
Also adds a new opacity screenshot test. Need to figure out how to bring
up a new screenshot test... does the screenshot get uploaded
automatically? Do I need to manually upload somewhere?
Fixes https://github.com/flutter/flutter/issues/164212
## 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-26 23:12:19 +00:00
engine-flutter-autoroll
f0b08055e6
Roll Fuchsia Linux SDK from g-2SJtblPjjaH7Egy... to 1elkOxihZuTEiTXzY... ( #164232 )
...
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 matanl@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
Co-authored-by: zijiehe@ <68449066+zijiehe-google-com@users.noreply.github.com>
2025-02-26 23:02:48 +00:00
engine-flutter-autoroll
f6e66cb27f
Roll Skia from 47b84f354604 to fdd97386193e (8 revisions) ( #164221 )
...
https://skia.googlesource.com/skia.git/+log/47b84f354604..fdd97386193e
2025-02-26 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from 28db7e56a2ed to 8ed929b84efc (3 revisions)
2025-02-26 robertphillips@google.com [graphite] Minor cleanups
2025-02-26 robertphillips@google.com [graphite] Cleanup TestPrecompile
jobs
2025-02-26 michaelludwig@google.com Reland "Reland "[graphite] Remove
TextureInfoData and TextureSpec in TextureInfo""
2025-02-26 robertphillips@google.com [graphite] Add getPipelineLabel API
for serialized Pipeline keys
2025-02-26 aswolfers@google.com Add BGRA format support
2025-02-26 jamesgk@google.com [graphite] Add dst color space field to
RenderPassProperties
2025-02-26 jamesgk@google.com Attempt specialized blurred rrect draw for
arcs
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 ,kjlubick@google.com,matanl@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-26 20:55:18 +00:00
Jonah Williams
04cc4b1f11
[Impeller] Reland: move AHB check into Flutter main, don't disable ImageReader on 29. ( #164201 )
...
Rather than conditionally disabling AHBs, just disable Vulkan on devices
where AHB imports don't work. FIx from last time is in the last commit,
I reversed the string check accidentally and disabled vulkan everywhere
🥺
https://github.com/flutter/flutter/issues/163473
https://github.com/flutter/flutter/issues/160854
2025-02-26 20:53:57 +00:00