- 01 Aug, 2023 1 commit
-
-
Polina Cherkasova authored
-
- 27 Jul, 2023 1 commit
-
-
Jason Simmons authored
Dart SDK 3.2.x requires a new version of the dart_internal package.
-
- 26 Jul, 2023 1 commit
-
-
Sam Rawlins authored
Add `unused_element_parameter` to the codes ignored while analyzing snippets. Fixes https://github.com/flutter/flutter/issues/131067
-
- 21 Jul, 2023 2 commits
-
-
Polina Cherkasova authored
-
stuartmorgan authored
Add the `--downgrade` flag to the flutter/packages analyze test, so that it won't get the latest version of dependencies, avoiding out-of-band failures in flutter/flutter due to package publishing events. Fixes https://github.com/flutter/flutter/issues/129633
-
- 18 Jul, 2023 2 commits
-
-
flutter-pub-roller-bot authored
This PR was generated by `flutter update-packages --force-upgrade`.
-
Greg Spencer authored
## Description This adds a checker that will check all of the API docs examples to make sure that they are linked from at least one source file in the packages. It also checks to make sure that all of the examples have an associated test. Since there are a large number that don't have tests at the moment, there is also a large exception list that can be burned down (burn down list is in https://github.com/flutter/flutter/issues/130459). Because there are missing links currently, this PR will only pass after https://github.com/flutter/flutter/pull/130521 is merged. ## Related Issues - https://github.com/flutter/flutter/issues/129956 - https://github.com/flutter/flutter/issues/130459 ## Tests - Added test for the checker.
-
- 17 Jul, 2023 1 commit
-
-
Michael Goderbauer authored
This change enables Flutter to generate multiple Scenes to be rendered into separate FlutterViews from a single widget tree. Each Scene is described by a separate render tree, which are all associated with the single widget tree. This PR implements the framework-side mechanisms to describe the content to be rendered into multiple views. Separate engine-side changes are necessary to provide these views to the framework and to draw the framework-generated Scene into them. ## Summary of changes The details of this change are described in [flutter.dev/go/multiple-views](https://flutter.dev/go/multiple-views). Below is a high-level summary organized by layers. ### Rendering layer changes * The `RendererBinding` no longer owns a single `renderView`. In fact, it doesn't OWN any `RenderView`s at all anymore. Instead, it offers an API (`addRenderView`/`removeRenderView`) to add and remove `RenderView`s that then will be MANAGED by the binding. The `RenderView` itself is now owned by a higher-level abstraction (e.g. the `RawView` Element of the widgets layer, see below), who is also in charge of adding it to the binding. When added, the binding will interact with the `RenderView` to produce a frame (e.g. by calling `compositeFrame` on it) and to perform hit tests for incoming pointer events. Multiple `RenderView`s can be added to the binding (typically one per `FlutterView`) to produce multiple Scenes. * Instead of owning a single `pipelineOwner`, the `RendererBinding` now owns the root of the `PipelineOwner` tree (exposed as `rootPipelineOwner` on the binding). Each `PipelineOwner` in that tree (except for the root) typically manages its own render tree typically rooted in one of the `RenderView`s mentioned in the previous bullet. During frame production, the binding will instruct each `PipelineOwner` of that tree to flush layout, paint, semantics etc. A higher-level abstraction (e.g. the widgets layer, see below) is in charge of adding `PipelineOwner`s to this tree. * Backwards compatibility: The old `renderView` and `pipelineOwner` properties of the `RendererBinding` are retained, but marked as deprecated. Care has been taken to keep their original behavior for the deprecation period, i.e. if you just call `runApp`, the render tree bootstrapped by this call is rooted in the deprecated `RendererBinding.renderView` and managed by the deprecated `RendererBinding.pipelineOwner`. ### Widgets layer changes * The `WidgetsBinding` no longer attaches the widget tree to an existing render tree. Instead, it bootstraps a stand-alone widget tree that is not backed by a render tree. For this, `RenderObjectToWidgetAdapter` has been replaced by `RootWidget`. * Multiple render trees can be bootstrapped and attached to the widget tree with the help of the `View` widget, which internally is backed by a `RawView` widget. Configured with a `FlutterView` to render into, the `RawView` creates a new `PipelineOwner` and a new `RenderView` for the new render tree. It adds the new `RenderView` to the `RendererBinding` and its `PipelineOwner` to the pipeline owner tree. * The `View` widget can only appear in certain well-defined locations in the widget tree since it bootstraps a new render tree and does not insert a `RenderObject` into an ancestor. However, almost all Elements expect that their children insert `RenderObject`s, otherwise they will not function properly. To produce a good error message when the `View` widget is used in an illegal location, the `debugMustInsertRenderObjectIntoSlot` method has been added to Element, where a child can ask whether a given slot must insert a RenderObject into its ancestor or not. In practice, the `View` widget can be used as a child of the `RootWidget`, inside the `view` slot of the `ViewAnchor` (see below) and inside a `ViewCollection` (see below). In those locations, the `View` widget may be wrapped in other non-RenderObjectWidgets (e.g. InheritedWidgets). * The new `ViewAnchor` can be used to create a side-view inside a parent `View`. The `child` of the `ViewAnchor` widget renders into the parent `View` as usual, but the `view` slot can take on another `View` widget, which has access to all inherited widgets above the `ViewAnchor`. Metaphorically speaking, the view is anchored to the location of the `ViewAnchor` in the widget tree. * The new `ViewCollection` widget allows for multiple sibling views as it takes a list of `View`s as children. It can be used in all the places that accept a `View` widget. ## Google3 As of July 5, 2023 this change passed a TAP global presubmit (TGP) in google3: tap/OCL:544707016:BASE:545809771:1688597935864:e43dd651 ## Note to reviewers This change is big (sorry). I suggest focusing the initial review on the changes inside of `packages/flutter` first. The majority of the changes describe above are implemented in (listed in suggested review order): * `rendering/binding.dart` * `widgets/binding.dart` * `widgets/view.dart` * `widgets/framework.dart` All other changes included in the PR are basically the fallout of what's implemented in those files. Also note that a lot of the lines added in this PR are documentation and tests. I am also very happy to walk reviewers through the code in person or via video call, if that is helpful. I appreciate any feedback. ## Feedback to address before submitting ("TODO")
-
- 13 Jul, 2023 1 commit
-
-
Polina Cherkasova authored
-
- 07 Jul, 2023 1 commit
-
-
Alexander Aprelev authored
Manual roll is needed because incoming dart sdk requires updated version vm_snapshot_analysis (>=0.7.4). https://github.com/flutter/engine/compare/5ae09b8b4fa381e8723ed5382a26eafd0d97236f...7c83ea3e854202aea22405a947ac1b8f18c5a72c ``` 7c83ea3e85 Reland "Manual roll Dart SDK from 2d98d9e27dae to 0b07debd5862 (21 revisions) (#43457)" (#43472) 9ef3e8d533 Roll Skia from 5eba922297bb to 93c92f97f5ab (2 revisions) (#43471) ``` Remove implementation of SuitePlatform from the test as well. Remove use of fake cwd from SuitePlatform as it can't be properly faked.
-
- 28 Jun, 2023 1 commit
-
-
Flutter GitHub Bot authored
This PR was generated by `flutter update-packages --force-upgrade`.
-
- 27 Jun, 2023 1 commit
-
-
pdblasi-google authored
* Adds fix for `IntegrationTestWidgetsFlutterBinding.runTest(timeout)` to support first round of deprecations for `flutter_test` Resolves #124346
-
- 21 Jun, 2023 1 commit
-
-
Yegor authored
## FlutterTimeline Add a new class `FlutterTimeline` that's a drop-in replacement for `Timeline` from `dart:developer`. In addition to forwarding invocations of `startSync`, `finishSync`, `timeSync`, and `instantSync` to `dart:developer`, provides the following extra methods that make is easy to collect timings for code blocks on a frame-by-frame basis: * `debugCollect()` - aggregates timings since the last reset, or since the app launched. * `debugReset()` - forgets all data collected since the previous reset, or since the app launched. This allows clearing data from previous frames so timings can be attributed to the current frame. * `now` - this was enhanced so that it works on the web by calling `window.performance.now` (in `Timeline` this is a noop in Dart web compilers). * `collectionEnabled` - a field that controls whether `FlutterTimeline` stores timings in memory. By default this is disabled to avoid unexpected overhead (although the class is designed for minimal and predictable overhead). Specific benchmarks can enable collection to report to Skia Perf. ## Semantics benchmarks Add `BenchMaterial3Semantics` that benchmarks the cost of semantics when constructing a screen full of Material 3 widgets from nothing. It is expected that semantics will have non-trivial cost in this case, but we should strive to keep it much lower than the rendering cost. This is the case already. This benchmark shows that the cost of semantics is <10%. Add `BenchMaterial3ScrollSemantics` that benchmarks the cost of scrolling a previously constructed screen full of Material 3 widgets. The expectation should be that semantics will have trivial cost, since we're just shifting some widgets around. As of today, the numbers are not great, with semantics taking >50% of frame time, which is what prompted this PR in the first place. As we optimize this, we want to see this number improve.
-
- 20 Jun, 2023 1 commit
-
-
William Hesse authored
Automatic CI testing runs on monorepo bots that tests the heads of the Dart SDK, Flutter engine, and Flutter framework together. These tests previously ran on bots called HHH (triple-headed), and the logic for detecting this used the machine name of the test machine. Extend that detection logic to cover the test machine hostnames that run monorepo testing, that start with either 'dart-tests-' or 'luci-dart-'. None of the machines used to run Flutter release builds have names like this, even though they are in an internal Dart luci project. Bug: b/231927187
-
- 15 Jun, 2023 1 commit
-
-
Mouad Debbar authored
- Bumps `vm_service` from `11.6.0` to `11.7.1` - Bumps `web` from `0.1.3-beta` to `0.1.4-beta` and adds it everywhere. - Moves `js` from `dependencies` to `dev_dependencies`
-
- 14 Jun, 2023 1 commit
-
-
Mouad Debbar authored
Use `package:web` and `dart:js_interop` instead. Part of https://github.com/flutter/flutter/issues/127030
-
- 12 Jun, 2023 1 commit
-
-
Polina Cherkasova authored
-
- 08 Jun, 2023 3 commits
-
-
LongCatIsLooong authored
I'm getting a few false positives in https://github.com/flutter/flutter/pull/128522/checks from the `num.clamp` checker since I introduced a class with a `clamp` method.
-
Jackson Gardner authored
This attempts to reland https://github.com/flutter/flutter/pull/126848 This was reverted because it made some unexpected changes to our perf measurements. After landing https://github.com/flutter/flutter/pull/127900, we have much less noise in our benchmarks, so I'd like to reland this and see if there is still a significant measurement difference.
-
Janice Collins authored
This updates dartdoc to 6.3.0. Release notes are available, here: https://github.com/dart-lang/dartdoc/releases/tag/v6.3.0 Most important for Flutter are the reduction in the size of generated HTML files (dart-lang/dartdoc#3384) and a new dartdoc directive to hide constant implementations from indicated classes (dart-lang/dartdoc#3398), which fixes the longstanding issue (dart-lang/dartdoc#2657). I've also added the api documentation zip to `.gitignore` and the `{@hideConstantImplementations}` dartdoc directive to the motivating example. A screenshot: ![Screenshot 2023-06-07 at 9 54 58 AM](https://github.com/flutter/flutter/assets/14116827/1ad9c1f0-b224-462f-a8e3-706d9858f0d8) I assert that this change to icons.dart should be test-exempt as existing tests cover whether or not dartdoc directives are recognized or are leaking into HTML, and the impact of adding the directive was tested in dart-lang/dartdoc#3398.
-
- 30 May, 2023 1 commit
- 26 May, 2023 2 commits
-
-
Phil Quitslund authored
The newly updated lint will soon flag for-each in collections. See discussion: https://github.com/dart-lang/linter/pull/4383 /cc @goderbauer
-
Greg Spencer authored
## Description Bumps the version for snippets to the latest version. ## Related Issues - https://github.com/flutter/flutter/issues/127320 ## Tests - No test changes needed.
-
- 24 May, 2023 1 commit
-
-
Brandon DeRosier authored
Rolls engine to head with [fixes](https://github.com/flutter/flutter/pull/127505) corresponding to the [latest Dart roll](https://github.com/flutter/engine/pull/42286).
-
- 16 May, 2023 3 commits
-
-
Sigurd Meldgaard authored
Follow-up to https://github.com/flutter/flutter/pull/121802 resolving some style issues.
-
Michael Goderbauer authored
-
- 15 May, 2023 1 commit
-
-
Tomasz Gucio authored
-
- 12 May, 2023 1 commit
-
-
Jason Simmons authored
https://github.com/flutter/engine/compare/ef5c349f04d8...c784d6d4137d 2023-05-12 [skia-flutter-autoroll@skia.org](mailto:skia-flutter-autoroll@skia.org) Roll Dart SDK from 7ad028c26344 to 4028c7d8b87c (8 revisions) (https://github.com/flutter/engine/pull/41967) Requires some update for changes to the Dart analyzer fixes https://github.com/flutter/flutter/issues/126683
-
- 08 May, 2023 1 commit
-
-
Pierre-Louis authored
In particular, update pin for `material_color_utilities` to `0.5.0`.
-
- 02 May, 2023 1 commit
-
-
Jenn Magder authored
1. Add iOS and macOS migration to mark "last upgraded" Xcode version to 14.3 to prevent `Update to recommended settings` warning. 2. Update iOS and macOS templates to same. 3. Update iOS template to set `BuildIndependentTargetsInParallel` to YES as suggested. I didn't add a migration for this since it seems like a minor optimization and I don't think it's worth a potentially botched/corrupted migration. 4. Run all example/integration test project to see migrator work. 5. Add some missing test projects to the build shard since I noticed they were missing and I had to build those manually outside `SHARD=build_tests`. Fixes https://github.com/flutter/flutter/issues/125817 See https://github.com/flutter/flutter/pull/90304 for Xcode 13 example.
-
- 28 Apr, 2023 2 commits
-
-
Flutter GitHub Bot authored
This PR was generated by `flutter update-packages --force-upgrade`.
-
Flutter GitHub Bot authored
This PR was generated by `flutter update-packages --force-upgrade`.
-
- 27 Apr, 2023 1 commit
-
-
Janice Collins authored
This PR updates the dartdoc version to v6.2.2. Release notes: https://github.com/dart-lang/dartdoc/releases/tag/v6.2.2 The main impact for Flutter is to update dartdoc to add chips to class and/or mixin pages for class modifiers. See dart-lang/dartdoc#3391, dart-lang/dartdoc#3402. This will also be a cherry-pick candidate for 3.1 if it can land in time. - [ test-exempt ] I added new tests to check the change I am making, or this PR is [test-exempt].
-
- 20 Apr, 2023 2 commits
-
-
Flutter GitHub Bot authored
This PR was generated by `flutter update-packages --force-upgrade`.
-
Flutter GitHub Bot authored
This PR was generated by `flutter update-packages --force-upgrade`.
-
- 13 Apr, 2023 1 commit
-
-
Flutter GitHub Bot authored
Roll pub packages
-
- 11 Apr, 2023 1 commit
-
-
pdblasi-google authored
Adds `dart_fix` support to `flutter_test`
-
- 07 Apr, 2023 1 commit
-
-
Flutter GitHub Bot authored
Roll pub packages
-
- 06 Apr, 2023 1 commit
-
-
Ian Hickson authored
Deprecate these old APIs
-