21199 Commits

Author SHA1 Message Date
fzyzcjy
eb2d9de07e
Fix Null check operator used on a null value on TextField with contextMenuBuilder (#128114)
Close #128113 

Fun fact: This is caught by monkey testing I have written (will soon be open sourced as well) that runs on my app!

Without the fix, the test fails as expected:

<details>

```
(base) ➜  flutter git:(feat/text-field-npe) /Volumes/MyExternal/ExternalRefCode/flutter/bin/flutter test test/material/text_field_test.dart --name 'changes from default'
00:06 +0: context menu contextMenuBuilder changes from default to null                                                                
══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════
The following _TypeError was thrown building
_OverlayEntryWidget-[LabeledGlobalKey<_OverlayEntryWidgetState>#e3717](state:
_OverlayEntryWidgetState#7666a):
Null check operator used on a null value

When the exception was thrown, this was the stack:
#0      EditableTextState._createSelectionOverlay.<anonymous closure> (package:flutter/src/widgets/editable_text.dart:3331:43)
#1      SelectionOverlay.showToolbar.<anonymous closure> (package:flutter/src/widgets/text_selection.dart:1357:36)
#2      ContextMenuController.show.<anonymous closure> (package:flutter/src/widgets/context_menu_controller.dart:65:54)
#3      _OverlayEntryWidgetState.build (package:flutter/src/widgets/overlay.dart:351:36)
#4      StatefulElement.build (package:flutter/src/widgets/framework.dart:5198:27)
#5      ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5086:15)
#6      StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5251:11)
#7      Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#8      StatefulElement.update (package:flutter/src/widgets/framework.dart:5274:5)
#9      Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#10     RenderObjectElement.updateChildren (package:flutter/src/widgets/framework.dart:6093:32)
#11     MultiChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6595:17)
#12     Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#13     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#14     StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5251:11)
#15     Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#16     StatefulElement.update (package:flutter/src/widgets/framework.dart:5274:5)
#17     Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#18     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#19     Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#20     ProxyElement.update (package:flutter/src/widgets/framework.dart:5417:5)
#21     Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#22     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#23     Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#24     ProxyElement.update (package:flutter/src/widgets/framework.dart:5417:5)
#25     _InheritedNotifierElement.update (package:flutter/src/widgets/inherited_notifier.dart:107:11)
#26     Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#27     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#28     StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5251:11)
#29     Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#30     StatefulElement.update (package:flutter/src/widgets/framework.dart:5274:5)
#31     Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#32     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#33     Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#34     ProxyElement.update (package:flutter/src/widgets/framework.dart:5417:5)
#35     _InheritedNotifierElement.update (package:flutter/src/widgets/inherited_notifier.dart:107:11)
#36     Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#37     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#38     StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5251:11)
#39     Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#40     StatefulElement.update (package:flutter/src/widgets/framework.dart:5274:5)
#41     Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#42     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#43     StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5251:11)
#44     Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#45     StatefulElement.update (package:flutter/src/widgets/framework.dart:5274:5)
#46     Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#47     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6442:14)
#48     Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#49     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6442:14)
#50     Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#51     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#52     Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#53     ProxyElement.update (package:flutter/src/widgets/framework.dart:5417:5)
#54     Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#55     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#56     StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5251:11)
#57     Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#58     StatefulElement.update (package:flutter/src/widgets/framework.dart:5274:5)
#59     Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#60     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#61     Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#62     ProxyElement.update (package:flutter/src/widgets/framework.dart:5417:5)
#63     _InheritedNotifierElement.update (package:flutter/src/widgets/inherited_notifier.dart:107:11)
#64     Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#65     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6442:14)
#66     Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#67     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#68     StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5251:11)
#69     Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#70     StatefulElement.update (package:flutter/src/widgets/framework.dart:5274:5)
#71     Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#72     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#73     Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#74     ProxyElement.update (package:flutter/src/widgets/framework.dart:5417:5)
#75     Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#76     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#77     Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#78     ProxyElement.update (package:flutter/src/widgets/framework.dart:5417:5)
#79     Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#80     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#81     Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#82     ProxyElement.update (package:flutter/src/widgets/framework.dart:5417:5)
#83     Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#84     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#85     Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#86     ProxyElement.update (package:flutter/src/widgets/framework.dart:5417:5)
#87     Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#88     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#89     Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#90     StatelessElement.update (package:flutter/src/widgets/framework.dart:5162:5)
#91     Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#92     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#93     Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#94     ProxyElement.update (package:flutter/src/widgets/framework.dart:5417:5)
#95     Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#96     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#97     Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#98     StatelessElement.update (package:flutter/src/widgets/framework.dart:5162:5)
#99     Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#100    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#101    StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5251:11)
#102    Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#103    StatefulElement.update (package:flutter/src/widgets/framework.dart:5274:5)
#104    Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#105    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#106    Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#107    ProxyElement.update (package:flutter/src/widgets/framework.dart:5417:5)
#108    Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#109    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#110    Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#111    ProxyElement.update (package:flutter/src/widgets/framework.dart:5417:5)
#112    Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#113    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#114    StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5251:11)
#115    Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#116    StatefulElement.update (package:flutter/src/widgets/framework.dart:5274:5)
#117    Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#118    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#119    Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#120    StatelessElement.update (package:flutter/src/widgets/framework.dart:5162:5)
#121    Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#122    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#123    Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#124    ProxyElement.update (package:flutter/src/widgets/framework.dart:5417:5)
#125    Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#126    SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6442:14)
#127    Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#128    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#129    Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#130    StatelessElement.update (package:flutter/src/widgets/framework.dart:5162:5)
#131    Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#132    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#133    Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#134    StatelessElement.update (package:flutter/src/widgets/framework.dart:5162:5)
#135    Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#136    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#137    Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#138    StatelessElement.update (package:flutter/src/widgets/framework.dart:5162:5)
#139    Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#140    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#141    Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#142    ProxyElement.update (package:flutter/src/widgets/framework.dart:5417:5)
#143    Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#144    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#145    Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#146    ProxyElement.update (package:flutter/src/widgets/framework.dart:5417:5)
#147    Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#148    SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6442:14)
#149    Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#150    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#151    StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5251:11)
#152    Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#153    StatefulElement.update (package:flutter/src/widgets/framework.dart:5274:5)
#154    Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#155    SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6442:14)
#156    Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#157    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#158    Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#159    ProxyElement.update (package:flutter/src/widgets/framework.dart:5417:5)
#160    _InheritedNotifierElement.update (package:flutter/src/widgets/inherited_notifier.dart:107:11)
#161    Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#162    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#163    StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5251:11)
#164    Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#165    StatefulElement.update (package:flutter/src/widgets/framework.dart:5274:5)
#166    Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#167    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#168    StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5251:11)
#169    Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#170    StatefulElement.update (package:flutter/src/widgets/framework.dart:5274:5)
#171    Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#172    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#173    Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#174    ProxyElement.update (package:flutter/src/widgets/framework.dart:5417:5)
#175    Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#176    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#177    StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5251:11)
#178    Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#179    StatefulElement.update (package:flutter/src/widgets/framework.dart:5274:5)
#180    Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#181    SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6442:14)
#182    Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#183    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#184    Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#185    ProxyElement.update (package:flutter/src/widgets/framework.dart:5417:5)
#186    _InheritedNotifierElement.update (package:flutter/src/widgets/inherited_notifier.dart:107:11)
#187    Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#188    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#189    StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5251:11)
#190    Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#191    StatefulElement.update (package:flutter/src/widgets/framework.dart:5274:5)
#192    Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#193    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#194    StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5251:11)
#195    Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#196    StatefulElement.update (package:flutter/src/widgets/framework.dart:5274:5)
#197    Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#198    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#199    Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#200    ProxyElement.update (package:flutter/src/widgets/framework.dart:5417:5)
#201    Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#202    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#203    StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5251:11)
#204    Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#205    StatefulElement.update (package:flutter/src/widgets/framework.dart:5274:5)
#206    Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#207    SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6442:14)
#208    Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#209    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#210    Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#211    ProxyElement.update (package:flutter/src/widgets/framework.dart:5417:5)
#212    _InheritedNotifierElement.update (package:flutter/src/widgets/inherited_notifier.dart:107:11)
#213    Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#214    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#215    StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5251:11)
#216    Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#217    StatefulElement.update (package:flutter/src/widgets/framework.dart:5274:5)
#218    Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#219    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#220    StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5251:11)
#221    Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#222    StatefulElement.update (package:flutter/src/widgets/framework.dart:5274:5)
#223    Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#224    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#225    Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#226    StatelessElement.update (package:flutter/src/widgets/framework.dart:5162:5)
#227    Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#228    SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6442:14)
#229    Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#230    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#231    Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#232    ProxyElement.update (package:flutter/src/widgets/framework.dart:5417:5)
#233    _InheritedNotifierElement.update (package:flutter/src/widgets/inherited_notifier.dart:107:11)
#234    Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#235    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#236    StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5251:11)
#237    Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#238    StatefulElement.update (package:flutter/src/widgets/framework.dart:5274:5)
#239    Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#240    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#241    StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5251:11)
#242    Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#243    StatefulElement.update (package:flutter/src/widgets/framework.dart:5274:5)
#244    Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#245    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#246    Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#247    ProxyElement.update (package:flutter/src/widgets/framework.dart:5417:5)
#248    Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#249    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#250    StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5251:11)
#251    Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#252    StatefulElement.update (package:flutter/src/widgets/framework.dart:5274:5)
#253    Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#254    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#255    Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#256    ProxyElement.update (package:flutter/src/widgets/framework.dart:5417:5)
#257    Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#258    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#259    StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5251:11)
#260    Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#261    StatefulElement.update (package:flutter/src/widgets/framework.dart:5274:5)
#262    Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#263    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#264    Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#265    ProxyElement.update (package:flutter/src/widgets/framework.dart:5417:5)
#266    Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#267    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#268    StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5251:11)
#269    Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#270    StatefulElement.update (package:flutter/src/widgets/framework.dart:5274:5)
#271    Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#272    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#273    StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5251:11)
#274    Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#275    StatefulElement.update (package:flutter/src/widgets/framework.dart:5274:5)
#276    Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#277    SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6442:14)
#278    Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#279    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#280    Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#281    ProxyElement.update (package:flutter/src/widgets/framework.dart:5417:5)
#282    _InheritedNotifierElement.update (package:flutter/src/widgets/inherited_notifier.dart:107:11)
#283    Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#284    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#285    StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5251:11)
#286    Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#287    StatefulElement.update (package:flutter/src/widgets/framework.dart:5274:5)
#288    Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#289    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#290    Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#291    ProxyElement.update (package:flutter/src/widgets/framework.dart:5417:5)
#292    Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#293    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#294    Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#295    ProxyElement.update (package:flutter/src/widgets/framework.dart:5417:5)
#296    Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#297    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#298    StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5251:11)
#299    Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#300    StatefulElement.update (package:flutter/src/widgets/framework.dart:5274:5)
#301    Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#302    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#303    Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#304    ProxyElement.update (package:flutter/src/widgets/framework.dart:5417:5)
#305    Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#306    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#307    StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5251:11)
#308    Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#309    StatefulElement.update (package:flutter/src/widgets/framework.dart:5274:5)
#310    Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#311    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#312    Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#313    ProxyElement.update (package:flutter/src/widgets/framework.dart:5417:5)
#314    Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#315    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#316    Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#317    StatelessElement.update (package:flutter/src/widgets/framework.dart:5162:5)
#318    Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#319    RenderObjectToWidgetElement._rebuild (package:flutter/src/widgets/binding.dart:1253:16)
#320    RenderObjectToWidgetElement.update (package:flutter/src/widgets/binding.dart:1230:5)
#321    RenderObjectToWidgetElement.performRebuild (package:flutter/src/widgets/binding.dart:1244:7)
#322    Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#323    BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2780:19)
#324    AutomatedTestWidgetsFlutterBinding.drawFrame (package:flutter_test/src/binding.dart:1396:19)
#325    RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:358:5)
#326    SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1297:15)
#327    SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1227:9)
#328    AutomatedTestWidgetsFlutterBinding.pump.<anonymous closure> (package:flutter_test/src/binding.dart:1246:9)
#331    TestAsyncUtils.guard (package:flutter_test/src/test_async_utils.dart:68:41)
#332    AutomatedTestWidgetsFlutterBinding.pump (package:flutter_test/src/binding.dart:1232:27)
#333    WidgetTester._pumpWidget (package:flutter_test/src/widget_tester.dart:587:20)
#334    WidgetTester.pumpWidget.<anonymous closure> (package:flutter_test/src/widget_tester.dart:572:14)
#337    TestAsyncUtils.guard (package:flutter_test/src/test_async_utils.dart:68:41)
#338    WidgetTester.pumpWidget (package:flutter_test/src/widget_tester.dart:571:27)
#339    main.<anonymous closure>.<anonymous closure> (file:///Volumes/MyExternal/ExternalRefCode/flutter/packages/flutter/test/material/text_field_test.dart:15687:20)
<asynchronous suspension>
<asynchronous suspension>
(elided 5 frames from dart:async and package:stack_trace)

════════════════════════════════════════════════════════════════════════════════════════════════════
00:06 +0 -1: context menu contextMenuBuilder changes from default to null [E]                                                         
  Test failed. See exception logs above.
  The test description was: contextMenuBuilder changes from default to null
  
To run this test again: /Volumes/MyExternal/ExternalRefCode/flutter/bin/cache/dart-sdk/bin/dart test /Volumes/MyExternal/ExternalRefCode/flutter/packages/flutter/test/material/text_field_test.dart -p vm --plain-name 'context menu contextMenuBuilder changes from default to null'
00:06 +0 -1: Some tests failed.                                                                                                       
(base) ➜  flutter git:(feat/text-field-npe) 

```

</details>
2023-06-06 19:37:57 +00:00
Leigha Jarett
32a1c275df
Adding example for migrating to navigation drawer (#128295)
Fixes https://github.com/flutter/flutter/issues/127214
2023-06-06 19:23:19 +00:00
Michael Goderbauer
4c5db40ff5
Clean-up viewId casts in flutter_test (#128256)
Follow-up to https://github.com/flutter/engine/pull/42493.
2023-06-06 17:23:17 +00:00
Hans Muller
e72b4717bf
Use Material3 in the 2D viewport tests (#128155)
Set `useMaterial3: true' for the MaterialApp used in the 2D tests to enable making  `useMaterial3: true' the default for ThemeData in a future PR.
2023-06-06 16:28:31 +00:00
Nate Bosch
d095f10b44
Use a show over a hide for test_api exports (#128298)
The members which are currently hidden may get removed from `package:test_api` because they have no uses.
https://github.com/dart-lang/test/pull/2030

Switch to a `show` and list all the exported APIs. This is currently a no-op change, and is forward compatible with the breaking change when it lands.

A `show` is also safer than a `hide` when exporting across package boundaries. Adding a new member to a library _can be_ breaking, but is often treated as non-breaking. If a new member is added to `package:test_api/scaffolding.dart` it will need to be manually added to the list to be usable from `package:flutter_test`, but we anyways want to add a CHANGELOG entry for user facing changes.
2023-06-06 16:23:14 +00:00
Leigha Jarett
6c8cf3a9d0
Migration guide for moving from BottomNavigationBar to NavigationBar (#128263)
Fixes https://github.com/flutter/flutter/issues/127213
2023-06-06 03:52:07 +00:00
Mouad Debbar
d87656559c
[web] Use 'Uri' instead of 'dart:html' to extract pathname (#127983)
- Use `Uri.parse()` to extract pathname.
- Remove unused code from `utils.dart`.
- Add test for URL encoding.

(need to wait for https://github.com/flutter/flutter/pull/126851 to make it into Google3)
2023-06-06 03:46:02 +00:00
Jonah Williams
9881aa69e8
[framework] attempt non-key solution (#128273)
Adds a special opacity widget that does not act like a repaint boundary.

Better solution for https://github.com/flutter/flutter/pull/128138
2023-06-05 21:24:51 +00:00
Kate Lovett
a3ddead1a4
Remove scrollbar deprecations isAlwaysShown and hoverThickness (#127351)
The deprecated `[RawScrollbar/Scrollbar/CupertinoScrollbar/ScrollbarThemeData].isAlwaysShown` has expired and is removed in thi PR.
Also, `Scrollbar.hoverThickness` is also removed after having expired.

The replacement for `isAlwaysShown` is `thumbVisibility`. This deprecation was introduced in #96957. The name change came from new behaviors like a track that is conditionally visible. Since the original API only referred to the thumb, the name was changed to reflect this intention. This change is supported by dart fix. ✅ 

The replacement for `hoverThickness` is `ScrollbarThemeData.thickness`, which is a MaterialStateProperty that allows for the thickness to respond to multiple states including hover. This deprecation was introduced in #97173. This change is not supported by dart fix. 😞  

Part of https://github.com/flutter/flutter/issues/127042
2023-06-05 21:15:32 +00:00
Kate Lovett
9a263466ae
Fix update drag error that made NestedScrollView un-scrollable (#127718)
#### (plus some more docs)

Fixes https://github.com/flutter/flutter/issues/76760
Fixes https://github.com/flutter/flutter/issues/82391
Fixes https://github.com/flutter/flutter/issues/45619
Fixes #117316
Fixes #110956
Fixes #127282 
Fixes #32563
Fixes #46089 
Fixes #79077
Part of fixing #62833

This fixes (a bunch of) issues that have been reported differently over the years, but all have the same root cause. Sometimes the NestedScrollView would incorrectly calculate whether or not there is enough content to allow scrolling. This would only apply to drag scrolling (not mouse wheel scrolling for example). This did not relate to how the extent of the NestedScrollView is computed, but just the logic that enabled the actual drag gestures. This fixes that. :)
2023-06-05 21:14:22 +00:00
Michael Goderbauer
17f86df8bd
Migrate SemanticsBinding to onSemanticsActionEvent (#128254)
Follow-up to https://github.com/flutter/engine/pull/42493.
2023-06-05 18:16:06 +00:00
Jonah Williams
b3f32004d4
[framework] force flexible space background to rebuild. (#128138)
Fixes https://github.com/flutter/flutter/issues/127836

The flexible scroll bar needs to rebuild even if the child/opacity hasn't changed. Force this with a value key.
2023-06-05 15:51:49 +00:00
Michael Goderbauer
dffd0c3a9d
Prefix for dart:ui multiview change (#128152)
For https://github.com/flutter/engine/pull/42493.
2023-06-02 19:08:05 -07:00
Alexander Aprelev
581ebe2965
Roll dds dependency to 2.8.3 for expression evaluation upcoming fixes. (#128124)
The fix is coming as part of https://dart-review.git.corp.google.com/c/sdk/+/306908 dart sdk roll as well as https://github.com/flutter/flutter/pull/128084.

BUG=https://github.com/dart-lang/sdk/issues/52522
2023-06-02 23:31:07 +00:00
Jim Graham
6f6611359c
Reland "Remove obsolete drawShadow bounds workaround (#127052)" (#127231)
This workaround was created 6 years ago with no links to bug databases to track. As best we can determine, the issue is no longer present in SkPicture or DisplayList and is most likely obsolete. More importantly, though, non-rendering primitives are ignored by the DisplayList construction and so this workaround will just be ignored anyway. If a problem surfaces about this issue that we haven't discovered by a thorough code search of the current code base, then workarounds should be installed within the relevant implementation modules rather than in the framework (and documented with bugs filed in either or both of Flutter's github repos, and/or the Skia issue database).

Workaround originally created in this PR: https://github.com/flutter/flutter/pull/9654
2023-06-02 22:03:07 +00:00
Michael Goderbauer
e50b2507bf
Pre-migration for dart:ui multi view changes (#128092)
For https://github.com/flutter/engine/pull/42493.
2023-06-02 20:51:09 +00:00
Michael Goderbauer
4cf89cc278
Remove LiveTestRenderView (#127882)
In the multi view world, `RenderViews` are created by the `View` widget and no longer owned by the binding. Prior to this change, the `LiveTestWidgetsFlutterBinding` owned and managed a special subclass of `RenderView`, the `_LiveTestRenderView`. In the new world, where `RenderView`s can be created anywhere in the widget tree where a `View` widget is used, this setup is no longer feasible. This change removes this special `_LiveTestRenderView` and instead adds debug hocks to `RenderView` to allow the `LiveTestWidgetsFlutterBinding` to draw a debug overlay on top of the content of any `RenderView`.
2023-06-02 20:41:05 +00:00
fzyzcjy
de368fca94
Tiny remove unnecessary method in text_selection.dart (#127480)
I come across this when migrating my codebase. There is indeed a linter rule for it: unnecessary_overrides (see screenshot below for an example). I can help enabling the rule (as well as other rules, and/or dart formatter, etc) for Flutter codebase if needed.

![image](https://github.com/flutter/flutter/assets/5236035/3fe8fa32-cde2-45a9-901a-a383e8457fa1)
2023-06-02 20:19:12 +00:00
Victoria Ashworth
cd18c8c02f
Workaround for Dart VM timeout (#127875)
Workaround solution for: https://github.com/flutter/flutter/issues/121231
See https://github.com/flutter/flutter/issues/120808#issuecomment-1551826299 Error Case 2 for more information.

Sometimes the `ios-deploy` process does not return the logs from the application. We've been unable to figure out why. This is a solution to workaround that by using `idevicesyslog` alongside `ios-deploy` as a backup in getting the log for the Dart VM url. As explained in https://github.com/flutter/flutter/issues/120808#issuecomment-1551826299, when error case 2 happens, the `idevicesyslog` does successfully find the Dart VM.

Also, in the comments of the code it mentions `syslog` is not written on iOS 13+, this was added in response to this issue: https://github.com/flutter/flutter/issues/41133.

However, `idevicesyslog` does in fact work (at least for iOS 16), we use it to collect device logs for our CI tests already: 1dc26f80f0/dev/devicelab/lib/framework/devices.dart (L998-L1006)
2023-06-02 17:17:57 +00:00
Michael Goderbauer
95cd3c0340
Make --flutter-repo analyze whole repo (#127990)
Fixes https://github.com/flutter/flutter/issues/127989.
2023-06-02 17:17:54 +00:00
Midori
87324ec09d
[Refactor] fix quote style in template (#127762)
*Just replaced double quote to single.*

*this looks weird to me.*
![screenshot](https://github.com/flutter/flutter/assets/50433979/0bed4730-7fce-411e-b12f-24d478be13c3)
2023-06-02 16:11:51 +00:00
Zachary Anderson
fdb71de7a0
Revert "Fix issue where DevTools would not be immediately available when using --start-paused" (#128117)
Reverts flutter/flutter#126698

There are a bunch of tool crashes on CI that start with this commit. I'm
not sure this PR is the cause because there is no backtrace from the
tool on the crashes. The only error message is `Oops; flutter has exited
unexpectedly: "Null check operator used on a null value`.
2023-06-02 07:31:07 -07:00
Michael Goderbauer
60a87d0798
Sync Lints (#127976)
Syncs our lints with https://github.com/dart-lang/linter/blob/master/example/all.yaml:
* removed the deprecated `iterable_contains_unrelated_type` and `list_remove_unrelated_type` lints (their replacement `collection_methods_unrelated_type` was already enabled for us)
* enabled the new `no_self_assignments` and fixed one issue triggered by the lint.
2023-06-02 04:27:17 +00:00
Qun Cheng
ab70aea3ee
Text should still be centered when search bar height is less than 48 (#128068)
Fixes #127092

This fix can solve the alignment issue in `SearchBar` but we still need to investigate the root cause for the `TextField`. The 
text baseline of `TextField` doesn't change when the height is less than 48 and greater than 40. The problem should be related to the `minContainerHeight` which is 48 by default but the `contentHeight` has become smaller than this min value already. Setting `isDense`/`isCollapsed` to true gives the `minContainerHeight` a smaller number which is 0.0: ff33555b23/packages/flutter/lib/src/material/input_decorator.dart (L1086)

Since [`isDense`](ff33555b23/packages/flutter/lib/src/material/input_decorator.dart (L3907)) is used for the case where the text field has less vertical space, I just use this property in SearchBar.

https://github.com/flutter/flutter/assets/36861262/6ddc8e90-1b47-4dd5-9a57-59b86cafec6d

This is a demo to show the text baseline that doesn't change when we set the text field height under 48.
https://github.com/flutter/flutter/assets/36861262/ce2ee815-f1f5-493a-930e-0540a627bec8
2023-06-02 00:27:22 +00:00
Flutter GitHub Bot
4a8780d228
Roll pub packages (#128053)
This PR was generated by `flutter update-packages --force-upgrade`.
2023-06-02 00:23:16 +00:00
Taha Tesser
513ff44bce
Add FilterChip.elevated, ChoiceChip.elevated, & ActionChip.elevated variants (#128049) 2023-06-01 16:29:28 -07:00
Hans Muller
14136ae319
Updated custom ListTile examples (#128071) 2023-06-01 16:21:42 -07:00
Ben Konyi
35174cc2b7
Fix issue where DevTools would not be immediately available when using --start-paused (#126698)
Service extensions are unable to handle requests when the isolate they were registered on is paused. The DevTools launcher logic was waiting for some service extension invocations to complete before advertising the already active DevTools instance, but when --start-paused was provided these requests would never complete, preventing users from using DevTools to resume the paused isolate.

Fixes https://github.com/flutter/flutter/issues/126691
2023-06-01 22:35:02 +00:00
Kate Lovett
acf5a259e4
Add error message when sliver overlap absorber is missing (#128075)
Adds an error message where we previously would crash without any help.
Came across this while working on https://github.com/flutter/flutter/pull/127718
Fixes https://github.com/flutter/flutter/issues/128074
2023-06-01 22:29:08 +00:00
fzyzcjy
ffe94a2267
Add retry flag to flutter_test (#125851)
Closes https://github.com/flutter/flutter/issues/125920

I will add tests, polish code, etc, if this change looks generally OK!
2023-06-01 22:25:52 +00:00
Christopher Fujino
7f1f765521
[flutter_tools] Use process matcher for multidex test (#127996)
Part of https://github.com/flutter/flutter/issues/127135
Part of https://github.com/flutter/flutter/issues/125115
2023-06-01 22:24:08 +00:00
Hans Muller
1a098ae8eb
Revised Floating Action Button examples (#128058)
Of the original 4 examples, the first 3 mostly covered the same API features and occupied quite a bit of real-estate at the top of https://api.flutter.dev/flutter/material/FloatingActionButton-class.html.  Additionally the illustrations and the code samples didn't match in some cases.

Replaced examples 0,1,2 with one example that changes attributes of the FAB when it's pushed. 

Fixes https://github.com/flutter/flutter/issues/128048
2023-06-01 22:16:48 +00:00
Jonah Williams
47c0454a15
[framework] remove reference to closed issue. (#128007)
Shaders are supported everywhere but HTML backend. We missed this doc update.
2023-06-01 16:16:06 +00:00
Vasiliy Ditsyak
114f05cef6
Add fallback font to IconData class (#127269)
This PR adds an ability to specify `fallbackFont` for `Icon` class via `IconData` props.

Read detailed description here https://github.com/flutter/flutter/issues/126670
2023-06-01 15:43:18 +00:00
Mouad Debbar
764f4cc8c2
[web] Assert route names start with / if using PathUrlStrategy (#127986)
To avoid confusion and unpredictable errors (e.g. https://github.com/flutter/flutter/issues/127462), I'm adding this assert to disallow this pattern.

Fixes https://github.com/flutter/flutter/issues/127462
2023-06-01 15:31:24 +00:00
Andrew Kolos
13db2e4a76
[tool] In flutter doctor -v, warn when Android Studio version could not be detected. (#126395)
Fixes #122081.

When validating an Android Studio installation, add a warning validation message when we are unable to detect the version. This is because we have logic throughout the tool (JDK/JRE-searching) that is at higher risk of failing when we don't know the version.
2023-06-01 14:51:30 +00:00
Tomasz Gucio
2520838afb
Fixes in Cupertino translations (#127872) 2023-06-01 11:17:36 +02:00
Andrew Kolos
06e2b18173
[tools] use Java class for all java-searching behavior (#127354)
Fixes #124252, finishing work on the umbrella tracking issue, #126126.

Essentially, after this PR, no (non-test) code should be be referencing/invoking the java home or binary paths.
2023-06-01 04:19:19 +00:00
Loïc Sharma
071ea49248
[Windows] Address feedback for show window comment (#127998)
Address Tong's feedback here: https://github.com/flutter/flutter/issues/127695#issuecomment-1564884872

Follow-up to: https://github.com/flutter/flutter/pull/127046
2023-05-31 23:42:54 +00:00
Tae Hyung Kim
5596a0cdab
Fix gen-l10n format: true so that it applies to when it gets called via build target (#127886) 2023-05-31 15:25:54 -07:00
Greg Spencer
a257efc284
Fix handling of AppLifecycleState.hidden (#127987)
## Description

This fixes the parsing of `AppLifecycleState` in the services binding so that it knows what it is.

## Related Issues
 - Fixes https://github.com/flutter/flutter/issues/127974

## Tests
 - Added a test that causes parsing of all the different app lifecycle states.
2023-05-31 22:03:06 +00:00
Tae Hyung Kim
5fd9ef4240
Fix SliverPersistentHeader interactions with SliverCrossAxisGroup (#127338)
This PR fixes `SliverCrossAxisGroup` so that once we calculate the total `scrollExtent` of the `SliverCrossAxisGroup`, we ensure that any child sliver is not painted outside of the "scroll extent" of the sliver group.

https://github.com/flutter/flutter/assets/2004742/670dc6f9-a3c6-4bcc-85d3-576cf7f33c6a

https://github.com/flutter/flutter/assets/2004742/0c9cd951-c133-4a8b-9e5e-89d0a69a4f59

Fixes #126958.
Fixes #126957.
2023-05-31 22:01:06 +00:00
Renzo Olivares
83f19be250
Fix bottom sheet rebuilding when tapping (#127526)
This fixes an issue where the bottom sheet would rebuild when `enableDrag` is set to true on every tap. This is because `DragGestureRecognizer` would win the arena by default and dispatch the `drag` callbacks (in `acceptGesture`) even though it had not met the drag threshold. This changes keep the default behavior of `DragGestureRecognizer` the same, but adds a parameter `onlyAcceptDragOnThreshold` that a user can use to stop drag callbacks from being fired when the drag threshold has not been met.

Fixes #126833
2023-05-31 20:21:55 +00:00
Flutter GitHub Bot
347e304ef6
Roll pub packages (#127977)
This PR was generated by `flutter update-packages --force-upgrade`.
2023-05-31 20:18:25 +00:00
hangyu
a829b579d6
Add a FocusSemanticEvent (#126171)
issue: #94523
engine pr: https://github.com/flutter/engine/pull/41777
2023-05-31 20:15:52 +00:00
Mouad Debbar
7eecf8874f
[web] Use PlatformLocation from ui_web (#126851)
Remove the following APIs and export them directly from `dart:ui_web`:
- `urlStrategy` getter and setter
- `HashUrlStrategy`
- `PlatformLocation` and `BrowserPlatformLocation` (keep the façades for non-web platforms)

Depends on https://github.com/flutter/engine/pull/42043
Depends on https://github.com/flutter/engine/pull/42252

Part of https://github.com/flutter/flutter/issues/126831
2023-05-31 17:35:50 +00:00
Tomasz Gucio
ab3602b7df
Use paragraph getter in TextPainter (#127607) 2023-05-31 12:14:16 +02:00
Ian Hickson
1309f977be
Clarify PointerSignalResolver.register (#127605) 2023-05-31 01:54:20 +00:00
Christopher Fujino
0763d61f56
[flutter_tools] manually roll pub deps (#127447)
Fixes https://github.com/flutter/flutter/issues/127226
2023-05-30 23:34:52 +00:00
Tomasz Gucio
1b5899a4c5
Avoid catching FlutterError in TextPainter tests (#127604) 2023-05-30 19:41:08 +02:00