auto-submit[bot]
ebc414337d
Reverts "Prevent LayoutBuilder from rebuilding more than once ( #147856 )" ( #149279 )
...
Reverts: flutter/flutter#147856
Initiated by: loic-sharma
Reason for reverting: tree is closed with errors like:
```
test/integration.shard/break_on_framework_exceptions_test.dart: breaks when rebuilding dirty elements throws [E]
Expected: <45>
Actual: <2756>
package:matcher expect
test\integration.shard\break_on_framework_exceptions_test.dart 56:5 main.expectException
===== asynchronous gap ===
Original PR Author: LongCatIsLooong
Reviewed By: {goderbauer}
This change reverts the following previous change:
Fixes https://github.com/flutter/flutter/issues/146379 : introduces `Element.buildScope` which `BuildOwner.buildScope` uses to identify subtrees that need skipping (those with different `BuildScope`s). If `Element.update` calls `updateChild` then dirty children will still be rebuilt regardless of their build scopes.
This also introduces `LayoutBuilder.applyDoubleRebuildFix` migration flag which should only live for a week or less.
Caveats:
`LayoutBuilder`'s render object calls `markNeedsLayout` if a descendant Element is dirty. Since `markNeedsLayout` also implies `markNeedsPaint`, the render object is going to be very repaint/relayout-happy.
Tests:
Presubmits with the migration flag set to true: https://github.com/flutter/flutter/pull/147856/checks?check_run_id=24629865893
2024-05-29 23:29:19 +00:00
..
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2024-01-19 18:29:07 +00:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2024-02-07 10:01:22 -08:00
2023-12-15 14:13:31 -08:00
2024-01-04 23:26:38 +00:00
2024-02-14 21:08:25 +00:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2024-03-25 10:36:42 -07:00
2024-01-19 18:29:07 +00:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2024-05-13 22:12:49 +00:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2024-03-18 21:32:22 +00:00
2024-03-24 18:01:17 +00:00
2024-05-13 22:12:49 +00:00
2024-02-29 00:47:55 +00:00
2024-05-20 17:17:55 +00:00
2024-03-26 12:22:57 -07:00
2024-03-24 18:01:17 +00:00
2023-12-15 14:13:31 -08:00
2024-03-24 18:01:17 +00:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2024-05-28 16:35:29 -07:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2024-05-20 17:17:55 +00:00
2024-03-26 12:22:57 -07:00
2023-12-15 14:13:31 -08:00
2024-05-20 17:17:55 +00:00
2023-12-15 14:13:31 -08:00
2024-05-29 22:22:25 +00:00
2023-12-15 14:13:31 -08:00
2024-04-03 18:36:19 +00:00
2024-01-26 23:05:53 +00:00
2023-12-15 14:13:31 -08:00
2024-02-17 01:18:33 +00:00
2024-05-25 19:59:19 +00:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2024-03-14 14:20:44 -07:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2024-03-25 10:36:42 -07:00
2024-03-25 10:36:42 -07:00
2024-05-01 18:26:27 +00:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2024-04-09 19:35:07 +00:00
2024-01-03 00:11:18 +00:00
2023-12-15 14:13:31 -08:00
2024-05-29 15:41:18 +00:00
2024-03-25 10:45:02 -07:00
2023-12-15 14:13:31 -08:00
2024-03-25 10:36:42 -07:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2024-05-18 10:41:56 -07:00
2024-05-18 10:41:56 -07:00
2023-12-15 14:13:31 -08:00
2024-01-19 18:29:07 +00:00
2024-01-10 00:17:33 +00:00
2024-05-23 23:13:18 +00:00
2024-05-20 17:17:55 +00:00
2024-05-28 16:35:29 -07:00
2024-04-26 04:08:01 +00:00
2023-12-15 14:13:31 -08:00
2024-05-29 23:29:19 +00:00
2023-12-15 14:13:31 -08:00
2024-02-09 12:37:20 -08:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2024-05-29 02:33:16 +00:00
2024-05-28 16:35:29 -07:00
2023-12-15 14:13:31 -08:00
2024-03-14 14:20:44 -07:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2024-01-10 00:17:33 +00:00
2024-02-21 03:14:19 +00:00
2024-03-26 12:22:57 -07:00
2024-03-26 12:22:57 -07:00
2024-03-14 14:20:44 -07:00
2024-03-26 12:22:57 -07:00
2024-04-15 11:46:32 -07:00
2024-05-02 21:59:07 +00:00
2023-12-15 14:13:31 -08:00
2024-01-10 00:17:33 +00:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2024-03-06 03:23:18 +00:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2024-05-29 23:29:19 +00:00
2023-12-15 14:13:31 -08:00
2024-05-29 23:29:19 +00:00
2023-12-15 14:13:31 -08:00
2024-05-29 23:29:19 +00:00
2024-05-20 17:43:00 +00:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2024-01-19 18:29:07 +00:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2024-02-20 22:14:00 +00:00
2023-12-15 14:13:31 -08:00
2024-03-06 03:23:18 +00:00
2023-12-15 14:13:31 -08:00
2024-01-11 18:26:04 +00:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2023-12-08 15:34:01 +00:00
2023-12-15 14:13:31 -08:00
2024-03-19 17:00:24 +00:00
2024-04-03 15:49:38 -07:00
2023-12-15 14:13:31 -08:00
2024-01-26 23:05:53 +00:00
2024-01-16 09:44:49 -08:00
2023-12-15 14:13:31 -08:00
2024-05-28 10:39:30 -07:00
2024-01-29 09:49:44 -08:00
2024-01-31 19:22:07 +00:00
2023-11-27 19:06:00 +00:00
2024-01-26 23:05:53 +00:00
2023-12-15 14:13:31 -08:00
2024-03-25 10:36:42 -07:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2024-03-25 10:36:42 -07:00
2024-05-29 18:46:04 +00:00
2024-03-13 07:10:48 +00:00
2023-12-15 14:13:31 -08:00
2024-03-26 12:22:57 -07:00
2023-12-15 14:13:31 -08:00
2024-03-18 12:45:22 +00:00
2024-01-23 17:16:26 +00:00
2023-12-15 14:13:31 -08:00
2024-05-29 23:29:19 +00:00
2024-03-26 12:21:21 -07:00
2024-02-22 19:16:25 +00:00
2024-05-20 17:43:00 +00:00
2024-03-14 14:20:44 -07:00
2024-02-23 20:06:06 +00:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2024-01-29 21:21:34 -08:00
2024-01-29 21:21:34 -08:00
2023-12-15 14:13:31 -08:00
2024-05-01 22:05:02 +00:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2024-03-25 10:36:42 -07:00
2023-12-20 22:05:29 +00:00
2024-05-07 09:04:49 -07:00
2024-01-10 00:17:33 +00:00
2023-12-27 19:03:29 +00:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2024-03-14 14:20:44 -07:00
2024-05-14 20:52:59 +00:00
2023-12-15 14:13:31 -08:00
2024-05-13 22:12:49 +00:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2024-01-12 22:10:25 +00:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2024-02-23 19:02:22 +00:00
2024-05-28 16:35:29 -07:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2024-02-01 11:49:54 -08:00
2024-03-13 07:10:48 +00:00
2024-01-19 18:29:07 +00:00
2024-03-25 10:45:02 -07:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2024-02-14 21:08:25 +00:00
2024-01-10 00:17:33 +00:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2024-02-22 19:16:25 +00:00
2024-04-02 21:10:52 +00:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2024-04-29 22:46:06 +00:00
2024-03-13 17:16:17 +00:00
2024-04-09 19:35:07 +00:00
2024-05-20 23:45:08 +00:00
2024-05-02 00:03:15 +00:00
2024-04-02 21:10:52 +00:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2024-05-08 23:12:47 +00:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2024-05-29 22:22:25 +00:00
2024-04-15 11:46:32 -07:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2024-03-05 00:16:21 +00:00
2023-12-15 14:13:31 -08:00
2024-04-15 11:46:32 -07:00
2023-12-15 14:13:31 -08:00
2024-03-19 08:27:50 +00:00
2024-01-10 00:17:33 +00:00
2024-01-24 16:13:26 +00:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2024-03-15 10:42:02 -07:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2024-03-25 10:36:42 -07:00
2024-03-13 16:34:25 +00:00
2024-03-06 03:23:18 +00:00
2023-12-15 14:13:31 -08:00
2024-04-01 19:06:07 +00:00
2023-12-15 14:13:31 -08:00
2024-05-28 16:35:29 -07:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2024-03-06 03:23:18 +00:00
2024-03-15 10:42:02 -07:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2024-01-02 20:26:12 +00:00
2023-12-15 14:13:31 -08:00
2024-04-15 16:06:07 +00:00
2024-05-20 17:17:55 +00:00
2024-02-17 01:18:33 +00:00
2023-12-15 14:13:31 -08:00
2024-01-09 08:59:20 +00:00
2024-05-20 17:17:55 +00:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2024-05-15 16:52:17 -07:00
2024-01-19 18:29:07 +00:00
2023-12-15 14:13:31 -08:00
2024-05-28 16:35:29 -07:00
2024-01-16 21:40:08 +00:00
2024-05-01 20:51:54 +00:00
2023-12-15 14:13:31 -08:00
2023-12-08 15:34:01 +00:00
2023-12-15 14:13:31 -08:00
2024-03-25 10:36:42 -07:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2024-03-25 10:36:42 -07:00
2023-12-15 14:13:31 -08:00
2024-05-14 13:46:35 -07:00
2024-01-29 21:21:34 -08:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2024-05-28 16:35:29 -07:00
2024-03-25 10:36:42 -07:00
2023-12-15 14:13:31 -08:00
2024-04-29 22:46:06 +00:00
2024-05-24 16:26:07 +00:00
2024-05-24 16:26:07 +00:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2023-12-15 14:13:31 -08:00
2024-05-20 17:17:55 +00:00
2023-12-15 14:13:31 -08:00
2024-05-22 21:29:27 +00:00
2024-05-22 07:11:07 +00:00
2024-03-19 17:58:13 +00:00
2024-05-09 20:20:48 -07:00