Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
47 commits
Select commit Hold shift + click to select a range
3d2c47d
Add the 'windowing' feature flag and use to wrap an implementation fo…
mattkae Jul 21, 2025
611ea16
Merge branch 'master' into windowing_feature_flag
mattkae Jul 21, 2025
9fd6f59
Addressing documentation feedback from Robert
mattkae Jul 22, 2025
485e6ae
Merge branch 'windowing_feature_flag' of github.com:canonical/flutter…
mattkae Jul 22, 2025
8b7169f
Addressing feedback from Loic
mattkae Jul 22, 2025
9941e6a
Further minor renames
mattkae Jul 23, 2025
8b7ecbe
Merge branch 'master' into windowing_feature_flag
mattkae Jul 23, 2025
dac1f91
Minor documentation it
mattkae Jul 24, 2025
17b8e3b
Merge branch 'master' into windowing_feature_flag
mattkae Jul 24, 2025
5c14992
Further pull request feedback
mattkae Jul 25, 2025
5904b83
Dart format
mattkae Jul 25, 2025
7a941f9
Merge branch 'master' into windowing_feature_flag
mattkae Jul 25, 2025
865947d
Fix broken tests on Stub
mattkae Jul 25, 2025
b1a725e
Merge branch 'windowing_feature_flag' of github.com:canonical/flutter…
mattkae Jul 25, 2025
17e8b7a
Remove unused package
mattkae Jul 25, 2025
b42bde3
Some further pull request feedback, primarily around docs
mattkae Jul 28, 2025
c6dda1a
Merge branch 'master' into windowing_feature_flag
mattkae Jul 28, 2025
fc0387f
Further pull request feedback
mattkae Jul 29, 2025
1c2cf8d
Merge branch 'master' into windowing_feature_flag
mattkae Jul 29, 2025
2e84d9a
Adding docs about unfullscreening
mattkae Jul 29, 2025
cff3aa5
Merge branch 'windowing_feature_flag' of github.com:canonical/flutter…
mattkae Jul 29, 2025
3061128
rename WindowControllerContext to WindowControllerScope
mattkae Jul 29, 2025
c0484e6
Update comment to use runWidget
mattkae Jul 29, 2025
d544039
Fix comment in binding.dart
mattkae Jul 29, 2025
18c8568
Remove createWindowingOwner override in favor of setter
mattkae Jul 30, 2025
b2efa92
Remove the WindowSizing struct entirely in favor of individual fields
mattkae Jul 30, 2025
8d479d2
Merge branch 'master' into windowing_feature_flag
mattkae Jul 30, 2025
de50582
Adding listeners for different properties on a window
mattkae Jul 31, 2025
fc29375
Remove mention of listenable
mattkae Jul 31, 2025
6fbc0f2
No longer destroying the window inside of the RegularWindow widget + …
mattkae Jul 31, 2025
2624520
task: using a sealed class instead of a WindowType enum
mattkae Aug 1, 2025
57356c5
task: lots more feedback
mattkae Aug 1, 2025
53e227f
rename WindowControllerScope to WindowScope
mattkae Aug 1, 2025
44893a3
A bit of Loic feedback
mattkae Aug 1, 2025
eed05d4
Justin PR feedback + fixing tests
mattkae Aug 1, 2025
157d284
Writing some solid tests
mattkae Aug 1, 2025
550023d
Merge branch 'master' into windowing_feature_flag
mattkae Aug 1, 2025
6f69bf6
Updating example code so that it is complete
mattkae Aug 4, 2025
62f36cd
Remove imports from example code
mattkae Aug 4, 2025
9cfbaa9
Merge branch 'master' into windowing_feature_flag
mattkae Aug 4, 2025
716bb32
Fixing a few more doc items
mattkae Aug 4, 2025
dc56928
Fixing the docs again
mattkae Aug 4, 2025
5f5a767
Fix double space
mattkae Aug 4, 2025
58ab11e
Adding import statement to doc string
mattkae Aug 4, 2025
142a17c
Fixing the doc errors once and for all!
mattkae Aug 4, 2025
6656539
Merge branch 'master' into windowing_feature_flag
mattkae Aug 4, 2025
7edcf9d
Merge branch 'master' into windowing_feature_flag
mattkae Aug 4, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 8 additions & 7 deletions dev/devicelab/lib/tasks/integration_tests.dart
Original file line number Diff line number Diff line change
Expand Up @@ -189,13 +189,14 @@ TaskFunction dartDefinesTask() {
}

TaskFunction featureFlagsTask() {
return DriverTest(
'${flutterDirectory.path}/dev/integration_tests/ui',
'lib/feature_flags.dart',
// TODO(loic-sharma): Turn on a framework feature flag once one exists.
// https://github.com/flutter/flutter/issues/167668
environment: const <String, String>{},
).call;
return () async {
await flutter('config', options: const <String>['--enable-windowing']);

return DriverTest(
'${flutterDirectory.path}/dev/integration_tests/ui',
'lib/feature_flags.dart',
).call();
};
}

TaskFunction createEndToEndIntegrationTest() {
Expand Down
4 changes: 1 addition & 3 deletions dev/integration_tests/ui/test_driver/feature_flags_test.dart
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,6 @@ void main() {
});

test('Can run with feature flags enabled', () async {
// TODO(loic-sharma): Turn on a framework feature flag once one exists.
// https://github.com/flutter/flutter/issues/167668
await driver?.waitFor(find.text('Feature flags: "{}"'));
await driver?.waitFor(find.text('Feature flags: "{windowing}"'));
}, timeout: Timeout.none);
}
15 changes: 15 additions & 0 deletions packages/flutter/lib/src/foundation/_features.dart
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,21 @@

import 'package:meta/meta.dart';

/// Whether the windowing feature is enabled for the current
/// application.
///
/// Do not use this API. Flutter will make breaking changes
/// to this API, even in patch versions.
///
/// If this returns `false`, `@internal` APIs in the following
/// files will throw an `UnsupportedError`:
///
/// 1. packages/flutter/lib/src/widgets/_window.dart
///
/// See: https://github.com/flutter/flutter/issues/30701.
@internal
bool isWindowingEnabled = debugEnabledFeatureFlags.contains('windowing');

/// The feature flags this app was built with.
///
/// Do not use this API. Flutter can and will make breaking changes to this API.
Expand Down
Loading