Kate Lovett
9d96df2364
Modernize framework lints ( #179089 )
...
WIP
Commits separated as follows:
- Update lints in analysis_options files
- Run `dart fix --apply`
- Clean up leftover analysis issues
- Run `dart format .` in the right places.
Local analysis and testing passes. Checking CI now.
Part of https://github.com/flutter/flutter/issues/178827
- Adoption of flutter_lints in examples/api coming in a separate change
(cc @loic-sharma)
## 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].
**Note**: The Flutter team is currently trialing the use of [Gemini Code
Assist for
GitHub](https://developers.google.com/gemini-code-assist/docs/review-github-code ).
Comments from the `gemini-code-assist` bot should not be taken as
authoritative feedback from the Flutter team. If you find its comments
useful you can update your code accordingly, but if you are unsure or
disagree with the feedback, please feel free to wait for a Flutter team
member's review for guidance on which automated comments should be
addressed.
<!-- 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-11-26 01:10:39 +00:00
Matthew Kosarek
69264e4a60
Add the 'windowing' feature flag and use to wrap an implementation for regular windows that always throws ( #172478 )
...
## What's new?
- Added the `windowing` feature flag to the project
- Created the internal `_window.dart` API with support for regular
windows
- Implemented a `_WindowingOwnerUnsupported` implementation of the
`WindowingOwner` interface
- Marked all points of the public API as `@internal` with a
corresponding warning documentation
- Threw an `UnsupportedError` where it is appropriate to do so
Note that this PR does **NOT** include a real implementation of
`WindowingOwner` (e.g. for win32 or macOS). That work will be opened as
a follow up.
This work is based off of https://github.com/flutter/flutter/pull/168697
and http://github.com/flutter/flutter/pull/168437 , as well as this
design document:
https://docs.flutter.dev/go/multi-window-experimental-apis
## 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: Loïc Sharma <737941+loic-sharma@users.noreply.github.com>
2025-08-04 17:54:53 +00:00
Loïc Sharma
6474b04e6d
Reland "Add feature flags to the framework" ( #171545 )
...
This relands https://github.com/flutter/flutter/pull/168437 . The google3
fixes were landed in: https://github.com/flutter/flutter/pull/171547 ,
https://critique.corp.google.com/cl/781275353 ,
https://github.com/flutter/flutter/pull/171933 .
This PR is split into two commits:
1. d6253794e8982348c5c21cb63e8f6bf785664be6, code from
https://github.com/flutter/flutter/pull/168437 without any changes
2. f35d29e4af630d2d4fdb0cda8686b6ff9f77227a, updates the PR to omit
obvious types.
Original PR description:
## Motivation
We'd like to let users opt-in to experimental features so that they can
give early feedback while we iterate on the feature. For example:
Example feature flags:
1. Android sensitive content:
https://github.com/flutter/flutter/pull/158473 . When enabled, Flutter
will tell Android when the view contains sensitive content like a
password.
3. Desktop multi-window. When enabled, Flutter will use child windows to
allow things like a context menu to "escape" outside of the current
window.
### Use case
Users will be able to turn on features by:
* **Option 1**: Run `flutter config --enable-my-feature`. This enables
the feature for all projects on the machine
* **Option 2**: Add `enable-my-feature: true` in their `pubspec.yaml`,
under the `flutter` section. This would enable the for a single project
on the machine.
Turning on a feature affects _both_ development-time (`flutter run`) and
deployment-time (`flutter build x`). For example, I can `flutter build
windows` to create an `.exe` with multi-window features enabled.
## How this works
This adds a new
[`runtimeId`](https://github.com/flutter/flutter/pull/168437/files#diff-0ded384225f19a4c34d43c7c11f7cb084ff3db947cfa82d8d52fc94c112bb2a7R243-R247 )
property to the tool's `Feature` class. If a feature is on and has a
`runtimeId`, its `runtimeId` will be [stamped into the Dart application
as a Dart
define](https://github.com/flutter/flutter/pull/168437/files#diff-bd662448bdc2e6f50e47cd3b20b22b41a828561bce65cb4d54ea4f5011cc604eR293-R327 ).
The framework uses this Dart define to [determine which features are
enabled](https://github.com/flutter/flutter/pull/168437/files#diff-c8dbd5cd3103bc5be53c4ac5be8bdb9bf73e10cd5d8e4ac34e737fd1f8602d45 ).
### Multi-window example
https://github.com/flutter/flutter/pull/168697 shows how this new
feature flag system can be used to add a multi-window feature flag:
1. It adds a new [multi-window
feature](https://github.com/flutter/flutter/pull/168697/files#diff-0ded384225f19a4c34d43c7c11f7cb084ff3db947cfa82d8d52fc94c112bb2a7R189-R198 )
to the Flutter tool. This can be turned on using `flutter config
--enable-multi-window` or by putting `enable-multi-window: true` in an
app's .pubspec, under the `flutter` section.
2. It adds a new
[`isMultiWindowEnabled`](https://github.com/flutter/flutter/pull/168697/files#diff-c8dbd5cd3103bc5be53c4ac5be8bdb9bf73e10cd5d8e4ac34e737fd1f8602d45R7-R11 )
property to the framework.
4. The Material library can use this new property to determine whether
it should create a new window.
[Example](https://github.com/flutter/flutter/pull/168697/files#diff-2cbc1634ed6b61d61dfa090e7bfbbb7c60b74c8abc3a28df6f79eee691fd1b73 ).
## Limitations
### Tool and framework only
For now, these feature flags are available only to the Flutter tool and
Flutter framework. The flags are not automatically available to the
embedder or the engine.
For example, embedders need to configure their surfaces differently if
Impeller is enabled. This configuration must happen before the Dart
isolate is launched. As a result, the framework's feature flags is not a
viable solution for this scenario for now. For these kinds of scenarios,
we should continue to use platform-specific configuration like the
`AndroidManifest.xml` or `Info.plist` files.
This is a fixable limitation, we just need to invest in this plumbing :)
### Tree shaking
Feature flags are not designed to help tree shaking. For example, you
cannot conditionally import Dart code depending on the enabled feature
flags. Code that is feature flagged off will still be imported into
user's apps.
2025-07-15 00:02:16 +00:00
auto-submit[bot]
c2cd71309f
Reverts "Add feature flags to the framework ( #168437 )" ( #171542 )
...
<!-- start_original_pr_link -->
Reverts: flutter/flutter#168437
<!-- end_original_pr_link -->
<!-- start_initiating_author -->
Initiated by: chingjun
<!-- end_initiating_author -->
<!-- start_revert_reason -->
Reason for reverting: broke internal customers
<!-- end_revert_reason -->
<!-- start_original_pr_author -->
Original PR Author: loic-sharma
<!-- end_original_pr_author -->
<!-- start_reviewers -->
Reviewed By: {bkonyi, justinmc, matanlurey}
<!-- end_reviewers -->
<!-- start_revert_body -->
This change reverts the following previous change:
## Motivation
We'd like to let users opt-in to experimental features so that they can
give early feedback while we iterate on the feature. For example:
Example feature flags:
1. Android sensitive content:
https://github.com/flutter/flutter/pull/158473 . When enabled, Flutter
will tell Android when the view contains sensitive content like a
password.
2. Desktop multi-window. When enabled, Flutter will use child windows to
allow things like a context menu to "escape" outside of the current
window.
### Use case
Users will be able to turn on features by:
* **Option 1**: Run `flutter config --enable-my-feature`. This enables
the feature for all projects on the machine
* **Option 2**: Add `enable-my-feature: true` in their `pubspec.yaml`,
under the `flutter` section. This would enable the for a single project
on the machine.
Turning on a feature affects _both_ development-time (`flutter run`) and
deployment-time (`flutter build x`). For example, I can `flutter build
windows` to create an `.exe` with multi-window features enabled.
## How this works
This adds a new
[`runtimeId`](https://github.com/flutter/flutter/pull/168437/files#diff-0ded384225f19a4c34d43c7c11f7cb084ff3db947cfa82d8d52fc94c112bb2a7R243-R247 )
property to the tool's `Feature` class. If a feature is on and has a
`runtimeId`, its `runtimeId` will be [stamped into the Dart application
as a Dart
define](https://github.com/flutter/flutter/pull/168437/files#diff-bd662448bdc2e6f50e47cd3b20b22b41a828561bce65cb4d54ea4f5011cc604eR293-R327 ).
The framework uses this Dart define to [determine which features are
enabled](https://github.com/flutter/flutter/pull/168437/files#diff-c8dbd5cd3103bc5be53c4ac5be8bdb9bf73e10cd5d8e4ac34e737fd1f8602d45 ).
### Multi-window example
https://github.com/flutter/flutter/pull/168697 shows how this new
feature flag system can be used to add a multi-window feature flag:
1. It adds a new [multi-window
feature](https://github.com/flutter/flutter/pull/168697/files#diff-0ded384225f19a4c34d43c7c11f7cb084ff3db947cfa82d8d52fc94c112bb2a7R189-R198 )
to the Flutter tool. This can be turned on using `flutter config
--enable-multi-window` or by putting `enable-multi-window: true` in an
app's .pubspec, under the `flutter` section.
2. It adds a new
[`isMultiWindowEnabled`](https://github.com/flutter/flutter/pull/168697/files#diff-c8dbd5cd3103bc5be53c4ac5be8bdb9bf73e10cd5d8e4ac34e737fd1f8602d45R7-R11 )
property to the framework.
3. The Material library can use this new property to determine whether
it should create a new window.
[Example](https://github.com/flutter/flutter/pull/168697/files#diff-2cbc1634ed6b61d61dfa090e7bfbbb7c60b74c8abc3a28df6f79eee691fd1b73 ).
## Limitations
### Tool and framework only
For now, these feature flags are available only to the Flutter tool and
Flutter framework. The flags are not automatically available to the
embedder or the engine.
For example, embedders need to configure their surfaces differently if
Impeller is enabled. This configuration must happen before the Dart
isolate is launched. As a result, the framework's feature flags is not a
viable solution for this scenario for now. For these kinds of scenarios,
we should continue to use platform-specific configuration like the
`AndroidManifest.xml` or `Info.plist` files.
This is a fixable limitation, we just need to invest in this plumbing :)
### Tree shaking
Feature flags are not designed to help tree shaking. For example, you
cannot conditionally import Dart code depending on the enabled feature
flags. Code that is feature flagged off will still be imported into
user's apps.
## 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
<!-- end_revert_body -->
Co-authored-by: auto-submit[bot] <flutter-engprod-team@google.com>
2025-07-02 20:31:18 +00:00
Loïc Sharma
c6f9e801b2
Add feature flags to the framework ( #168437 )
...
## Motivation
We'd like to let users opt-in to experimental features so that they can
give early feedback while we iterate on the feature. For example:
Example feature flags:
1. Android sensitive content:
https://github.com/flutter/flutter/pull/158473 . When enabled, Flutter
will tell Android when the view contains sensitive content like a
password.
2. Desktop multi-window. When enabled, Flutter will use child windows to
allow things like a context menu to "escape" outside of the current
window.
### Use case
Users will be able to turn on features by:
* **Option 1**: Run `flutter config --enable-my-feature`. This enables
the feature for all projects on the machine
* **Option 2**: Add `enable-my-feature: true` in their `pubspec.yaml`,
under the `flutter` section. This would enable the for a single project
on the machine.
Turning on a feature affects _both_ development-time (`flutter run`) and
deployment-time (`flutter build x`). For example, I can `flutter build
windows` to create an `.exe` with multi-window features enabled.
## How this works
This adds a new
[`runtimeId`](https://github.com/flutter/flutter/pull/168437/files#diff-0ded384225f19a4c34d43c7c11f7cb084ff3db947cfa82d8d52fc94c112bb2a7R243-R247 )
property to the tool's `Feature` class. If a feature is on and has a
`runtimeId`, its `runtimeId` will be [stamped into the Dart application
as a Dart
define](https://github.com/flutter/flutter/pull/168437/files#diff-bd662448bdc2e6f50e47cd3b20b22b41a828561bce65cb4d54ea4f5011cc604eR293-R327 ).
The framework uses this Dart define to [determine which features are
enabled](https://github.com/flutter/flutter/pull/168437/files#diff-c8dbd5cd3103bc5be53c4ac5be8bdb9bf73e10cd5d8e4ac34e737fd1f8602d45 ).
### Multi-window example
https://github.com/flutter/flutter/pull/168697 shows how this new
feature flag system can be used to add a multi-window feature flag:
1. It adds a new [multi-window
feature](https://github.com/flutter/flutter/pull/168697/files#diff-0ded384225f19a4c34d43c7c11f7cb084ff3db947cfa82d8d52fc94c112bb2a7R189-R198 )
to the Flutter tool. This can be turned on using `flutter config
--enable-multi-window` or by putting `enable-multi-window: true` in an
app's .pubspec, under the `flutter` section.
2. It adds a new
[`isMultiWindowEnabled`](https://github.com/flutter/flutter/pull/168697/files#diff-c8dbd5cd3103bc5be53c4ac5be8bdb9bf73e10cd5d8e4ac34e737fd1f8602d45R7-R11 )
property to the framework.
3. The Material library can use this new property to determine whether
it should create a new window.
[Example](https://github.com/flutter/flutter/pull/168697/files#diff-2cbc1634ed6b61d61dfa090e7bfbbb7c60b74c8abc3a28df6f79eee691fd1b73 ).
## Limitations
### Tool and framework only
For now, these feature flags are available only to the Flutter tool and
Flutter framework. The flags are not automatically available to the
embedder or the engine.
For example, embedders need to configure their surfaces differently if
Impeller is enabled. This configuration must happen before the Dart
isolate is launched. As a result, the framework's feature flags is not a
viable solution for this scenario for now. For these kinds of scenarios,
we should continue to use platform-specific configuration like the
`AndroidManifest.xml` or `Info.plist` files.
This is a fixable limitation, we just need to invest in this plumbing :)
### Tree shaking
Feature flags are not designed to help tree shaking. For example, you
cannot conditionally import Dart code depending on the enabled feature
flags. Code that is feature flagged off will still be imported into
user's apps.
## 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-07-02 17:13:53 +00:00
Harri Kirik
e4c726ab89
Fix to Linux_pixel_7pro integration_ui_keyboard_resize test flakiness ( #162308 )
...
## `integration_ui_keyboard_resize` flakiness reduction
This PR addresses flakiness in the `integration_ui_keyboard_resize` test
(issue #161300 ) and slightly improves its performance.
**Issue summary:**
The `integration_ui_keyboard_resize` test occasionally fails because the
device keyboard does not reliably open at the start of the test. This PR
mitigates one cause of this flakiness, though other potential underlying
issues may still exist. See #161300 for a detailed investigation.
**Changes and rationale:**
1. **Improved keyboard detection logic (flakiness reduction):**
* The core change moves `await driver.tap(defaultTextField);` *inside*
the loop that checks for layout changes. This ensures the test
repeatedly attempts to open the keyboard *while* waiting for the
expected layout shift, significantly improving reliability.
* **Local testing results (MacBook Pro M1 + Pixel 8 Pro):**
* **Original implementation:** Consistent failures within the first 15
iterations.
* **This PR:** Ran consistently for at least 300 iterations (out of
2000) before any failure, with some runs exceeding 900 iterations.
2. **`enableTextEntryEmulation` configuration improvement:**
* The `keyboard_resize.dart` app is *exclusively* used for testing and
requires `enableTextEntryEmulation: false` for proper device keyboard
interaction.
* This PR sets `enableTextEntryEmulation: false` directly within the
app's `enableFlutterDriverExtension` setup. This simplifies the test
setup, avoids cross-thread communication, and prevents the app from
appearing broken when run independently (as manual text input wouldn't
work otherwise).
3. **UI enhancements for manual testing:**
* Added `SafeArea` and `InputDecoration` to `keyboard_resize.dart`. This
ensures the `TextField` is fully visible and usable during manual
testing (it was previously obscured by the Android status bar). This
improves the developer experience when debugging the app directly.
4. **Optimized polling for speed:**
* Reduced the polling interval and increased the number of polling
iterations (maintaining the overall timeout). This change resulted in a
~2-second speed improvement per test iteration during local testing.
**Further flakiness improvement discussion and ideas**
See the discussion at https://github.com/flutter/flutter/issues/161300
**Testing and reproduction:**
To reproduce the original flakiness and verify the fix (reproducibility
may vary based on setup; see
https://github.com/flutter/flutter/issues/161300#issuecomment-2618952501 ):
1. **Disable automatic reboots:** Comment out the `await
checkForRebootRequired();` line in
9e273d5e6e/dev/devicelab/lib/framework/framework.dart (L240-L243)
2. **Disable automatic retries:** Set `static const int retryNumber =
0;` in
9e273d5e6e/dev/devicelab/lib/framework/cocoon.dart (L56-L57)
3. **Install `hyperfine`:** This is a command-line benchmarking tool
(e.g., `brew install hyperfine` on macOS).
4. **Connect a device/emulator:** Connect a physical Android device or
start an emulator.
5. **Run repeated tests:** Use `hyperfine` to run the test multiple
times and capture the output:
```bash
hyperfine -r 100 'dart bin/test_runner.dart test -t
integration_ui_keyboard_resize > log.txt'
```
2025-03-05 08:36:07 +00:00
Michael Goderbauer
5491c8c146
Auto-format Framework ( #160545 )
...
This auto-formats all *.dart files in the repository outside of the
`engine` subdirectory and enforces that these files stay formatted with
a presubmit check.
**Reviewers:** Please carefully review all the commits except for the
one titled "formatted". The "formatted" commit was auto-generated by
running `dev/tools/format.sh -a -f`. The other commits were hand-crafted
to prepare the repo for the formatting change. I recommend reviewing the
commits one-by-one via the "Commits" tab and avoiding Github's "Files
changed" tab as it will likely slow down your browser because of the
size of this PR.
---------
Co-authored-by: Kate Lovett <katelovett@google.com>
Co-authored-by: LongCatIsLooong <31859944+LongCatIsLooong@users.noreply.github.com>
2024-12-19 20:06:21 +00:00
Jonah Williams
1050959d19
[flutter_driver] use mostly public screenshot API. ( #157888 )
...
Instead of completely private. This has been broken for Impeller for years, which shows how much this method is getting used.
Fixes https://github.com/flutter/flutter/issues/130461
2024-10-31 21:31:07 +00:00
Zachary Anderson
c4e19962bb
Fix Linux_android_emu tests late initialization errors ( #152932 )
...
This does not fix the issue underlying
https://github.com/flutter/flutter/issues/152684 , but may prevent `adb
logcat` from ending before we've captured the logs that explain why the
app or emulator are potentially crashing.
Fixes Fixes https://github.com/flutter/flutter/issues/152899
2024-08-06 14:48:50 -07:00
Camille Simon
5931b4f21d
Increase delay for checking integration_ui_keyboard_resize test success ( #141301 )
...
Increases delay for checking keyboard resizing to potentially accommodate the occasional longer delay of the Pixel 7 Pro.
Intended to address https://github.com/flutter/flutter/issues/140645 .
2024-01-12 04:42:07 +00:00
Christopher Fujino
dfdec8984f
[flutter_tools] Remove package:image ( #115848 )
...
* remove ciyaml targets
* remove screenshot_test and package:image
* update-packages
* remove TESTOWNERS entries
2022-11-22 21:49:57 +00:00
Christopher Fujino
0fc4a3efa8
Revert "Remove package:image dependency ( #115674 )" ( #115680 )
...
This reverts commit cf2c9f6ed46de039de7d993b77232e1a8327db16.
2022-11-18 18:22:23 -08:00
Christopher Fujino
cf2c9f6ed4
Remove package:image dependency ( #115674 )
...
* delete screenshot_test.dart
* remove image dep
* pub get
2022-11-18 23:50:23 +00:00
LongCatIsLooong
06314a073d
Put waitFor back in keyboard_textfield_test integration test ( #102315 )
2022-04-21 13:14:10 -07:00
LongCatIsLooong
ad612b59e5
Dump app on keyboard_textfield_test timeout ( #98305 )
2022-02-13 17:20:18 -08:00
LongCatIsLooong
213f766e35
Use ValueKey finder instead of text finder in keyboard_textfield_test ( #97996 )
2022-02-07 20:00:19 -08:00
Jenn Magder
f085e1a9cd
Add timeout to keyboard finder to diagnose flake ( #97258 )
2022-01-26 12:00:14 -08:00
LongCatIsLooong
e00d87ffcc
[keyboard_textfield_test] wait until the keyboard becomes visible ( #92032 )
2021-10-19 15:03:04 -07:00
Kaushik Iska
df3fe587e8
Validate that min frame number is numeric ( #86498 )
2021-07-15 17:11:09 -07:00
Dan Field
9c0bd18c40
Reland eliminate timeouts from integration tests ( #85141 )
2021-06-23 13:08:51 -07:00
Dan Field
69f2f8a18b
Revert "Remove per-test timeouts from integration tests ( #85098 )" ( #85133 )
...
This reverts commit b96c3c22ce350cd1999066601804c50a36e97ce6.
2021-06-23 08:17:27 -07:00
Dan Field
b96c3c22ce
Remove per-test timeouts from integration tests ( #85098 )
2021-06-23 07:17:28 -07:00
Alexandre Ardhuin
df3662b15e
use throwsA ( #82238 )
2021-05-11 10:19:01 -07:00
Abhishek Ghaskata
a195bcc0cf
Migrate dev/integration_tests/ui to null safety ( #80624 )
2021-04-27 18:50:51 -07:00
Phil Quitslund
61c30c41b2
fix sort_directives violations ( #80817 )
2021-04-21 13:49:03 -07:00
Ian Hickson
29e604e241
Update packages ( #74874 )
2021-01-28 00:04:03 -08:00
Jenn Magder
51b3edd45f
Revert "Remove package image dependency ( #74763 )" ( #74869 )
...
This reverts commit ca2d7b3d3c5096995873b4766c103500d1a40952.
2021-01-27 19:50:58 -08:00
Ian Hickson
ca2d7b3d3c
Remove package image dependency ( #74763 )
2021-01-27 17:19:03 -08:00
Jonah Williams
7ee910b0a8
[flutter_tools] ensure --dart-define can parse args with commas ( #73798 )
2021-01-15 13:51:32 -08:00
Dan Field
36f9af3f55
reland driver vm_service migration ( #69126 )
...
* One more reland of "Driver vm service (#68654 )" (#69074 )" (#69077 )" (#69089 )"
This reverts commit e5814756a2c8889e6e45bf18ac1439dd1522aa5c.
* pub run test
2020-10-27 11:30:24 -07:00
Dan Field
e5814756a2
Revert "Revert "Revert "Driver vm service ( #68654 )" ( #69074 )" ( #69077 )" ( #69089 )
...
This reverts commit 05ab0eba19530c89a9a1d210eddb0ea59f7236e5.
2020-10-27 01:47:03 -07:00
Dan Field
05ab0eba19
Revert "Revert "Driver vm service ( #68654 )" ( #69074 )" ( #69077 )
...
This reverts commit 19ce7a86af88df155cc2b09fad448bf6e5781ffb.
2020-10-26 19:22:25 -07:00
Jonah Williams
19ce7a86af
Revert "Driver vm service ( #68654 )" ( #69074 )
...
This reverts commit 3ecac303b43588d796afe3e14c889d18bcae023d.
Co-authored-by: Dan Field <dfield@gmail.com>
2020-10-26 18:56:34 -07:00
Dan Field
3ecac303b4
Driver vm service ( #68654 )
...
Migrate flutter_driver to use package:vm_service
2020-10-26 17:09:14 -07:00
Michael R Fairhurst
7f3c9b6bda
Remove unused 'dart:async' imports. ( #65568 )
2020-09-16 14:14:06 -07:00
gaaclarke
fbd6dd64d3
Added a more generous timeout period for the keyboard animation. ( #62628 )
2020-08-04 08:14:17 -07:00
Jonah Williams
e092dcfa22
[flutter_tools] Reland: fix multiple dart defines ( #54973 )
2020-04-16 10:56:49 -07:00
Jonah Williams
11ab2fa35c
Revert "[flutter_tools] fix multiple defines in flutter tooling, web ( #54909 )" ( #54967 )
...
This reverts commit b8bd09db210d2c6299555643af8db4b8ff3e8d92.
2020-04-16 08:33:16 -07:00
Jonah Williams
b8bd09db21
[flutter_tools] fix multiple defines in flutter tooling, web ( #54909 )
2020-04-15 22:25:32 -07:00
Greg Spencer
e20080b5d1
Add LICENSE file to packages/flutter, add test to make sure it… ( #53799 )
...
This adds a LICENSE file to the packages/flutter directory so that it can be found when building, and a test to make sure it exists in produced binaries.
2020-04-02 10:38:25 -07:00
Jonah Williams
c1112d3f7e
[flutter_tools] Reland: Allow providing dart-defines to Android, iOS, macOS builds ( #52044 )
2020-03-06 14:53:36 -08:00
Jonah Williams
ee476a7bd1
Revert "[flutter_tools] Allow providing dart-defines to Android, iOS, macOS builds ( #51714 )" ( #52041 )
...
This reverts commit ee60eeea3e60bde5f06a0ec78388d0776efebfcb.
2020-03-05 12:51:42 -08:00
Jonah Williams
ee60eeea3e
[flutter_tools] Allow providing dart-defines to Android, iOS, macOS builds ( #51714 )
2020-03-05 12:38:40 -08:00
Ian Hickson
449f4a6673
License update ( #45373 )
...
* Update project.pbxproj files to say Flutter rather than Chromium
Also, the templates now have an empty organization so that we don't cause people to give their apps a Flutter copyright.
* Update the copyright notice checker to require a standard notice on all files
* Update copyrights on Dart files. (This was a mechanical commit.)
* Fix weird license headers on Dart files that deviate from our conventions; relicense Shrine.
Some were already marked "The Flutter Authors", not clear why. Their
dates have been normalized. Some were missing the blank line after the
license. Some were randomly different in trivial ways for no apparent
reason (e.g. missing the trailing period).
* Clean up the copyrights in non-Dart files. (Manual edits.)
Also, make sure templates don't have copyrights.
* Fix some more ORGANIZATIONNAMEs
2019-11-27 15:04:02 -08:00
sjindel-google
0564f0a812
Tests for Engine ensuring debug-mode apps are attached on iOS. ( #37043 )
...
This PR contains the tests for flutter/engine#10186 .
2019-08-06 20:08:09 +02:00
a-deeb
c4f5f42a0a
updated tearDownAll function ( #28808 )
2019-06-03 10:54:44 -07:00
Jason Simmons
311cde98a6
Reland "Clean up some flutter_tools tests and roll dependencies" ( #33225 )
...
This relands flutter/flutter#33163 with a fix to the integration_ui test.
2019-05-29 19:04:35 -07:00
Jonah Williams
938dd5a4aa
Revert "Update driver script to execute test through test_core" ( #24401 )
...
* Revert "Add dashing config file for generating docset from flutter docs (#24374 )"
This reverts commit ec8ca8606c9eec8b1ecc965f5045fd29130a7e16.
* Revert "Update driver script to execute test through test_core (#24168 )"
This reverts commit 6c62cf337fb662684bb206e89018792eb68eb10a.
2018-11-15 11:17:00 -08:00
Jonah Williams
6c62cf337f
Update driver script to execute test through test_core ( #24168 )
2018-11-15 10:50:25 -08:00
Jonah Williams
23a7535a39
Revert "Remove package:test dependency from flutter_test ( #23755 )" ( #24004 )
...
This reverts commit 71e9bd6f25125112473d5a094ee77fadaf7c259e.
2018-11-06 09:12:48 -08:00