64e292e6e1897d7749dac079da4ef263f0e7bec5
Switches the Rect class implementation to an LTRB (Left, Top, Right, Bottom) set of fields for efficiency in performing rectangle operations. Additionally, the methods have been somewhat hardened to the following issues: - NaN values should always act as if the rect is empty - Helps with https://github.com/flutter/flutter/issues/132770 - Saturated math methods are added to avoid overflow for integer rects - Normalized treatment of empty rectangles in rect/rect operations - empty.Union(anything) == anything - empty.Intersection(anything) == empty - empty.IntersectsWith(anything) == false - empty.Contains(anything) == false - non-empty.Contains(empty) == true - MakeMaximum now returns finite rectangles which should produce non-nan values from all getters - A lot more testing of all of these behaviors within the unit tests In addition, the new rectangle is closer to what DisplayList and the Skia backend have been using all along so we might be able to switch to using Impeller geometry inside DisplayList to reduce overhead for both backends.
[Fuchsia] Redo - Use chromium test-scripts to download images and execute tests (flutter/engine#49847)
Description
Languages
Dart
75.4%
C++
16.4%
Objective-C++
2.7%
Java
2.7%
Objective-C
0.6%
Other
1.8%