-
Notifications
You must be signed in to change notification settings - Fork 26.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Image RTL #12230
Image RTL #12230
Conversation
cc @abarth |
// false is the default | ||
break; | ||
} | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd factor this out into a textDirectionIsReversed
analogous to axisDirectionIsReversed
. Then this becomes:
bool flipHorizontally = !backgroundImage.matchTextDirection || textDirectionIsReversed(configuration.textDirection);
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I take it back. We don't want other clients to call textDirectionIsReversed
.
@@ -182,6 +193,22 @@ class RenderImage extends RenderBox { | |||
markNeedsPaint(); | |||
} | |||
|
|||
/// Whether the image should be flipped horizontally. | |||
/// | |||
/// This is occasionally used with images in right-to-left environments, for |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd put something in here with [TextDirection]
so that folks reading the docs can get back to the "main article".
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done here and in RawImage
return false; | ||
} | ||
return null; | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's a bummer to have this code three times. Maybe pull it out into a static function on RawImage
? That's probably better than a free textDirectionIsReversed
function because folks will be less tempted to use it for RTL generally.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's a lot of words, but the actual code is trivial here. It's basically a very verbose ternary operator. Would you feel the same way if I wrote it as this?:
assert(!widget.matchTextDirection || debugCheckHasDirectionality(context));
return widget.matchTextDirection && Directionality.of(context) == TextDirection.rtl;
It's basically identical to this logic, I'm just avoiding writing that because it's an enum and I don't want to set the pattern of using direct comparisons on enums (as opposed to using switch). (Though it's unclear to me whether that's worth it for this case; we're not likely to add another text direction.)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The reason not to use direct comparisons is that the enum really has three values (RTL, LTR, and null). Even if you assert, in production you could have the null value. When that happens, you want an exception of some sort instead of silently assuming LTR (or RTL).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You don't necessarily get an exception in release mode even with the switch. For example, when I had the switch in the ImageDecoration code, it did the same thing for null and for LTR, which is to say, nothing, leaving it at the default (false).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, I thought about that when reading the code, but it was below the threshold of things that I usually comment on. :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Well in any case, I don't think we should optimize for getting exceptions when things are broken in release mode. If your code would assert in debug builds, then behaviour in release builds is undefined, IMHO.
@@ -454,8 +501,9 @@ class _FadeInImageState extends State<FadeInImage> with TickerProviderStateMixin | |||
color: new Color.fromRGBO(255, 255, 255, _animation?.value ?? 1.0), | |||
colorBlendMode: BlendMode.modulate, | |||
fit: widget.fit, | |||
alignment: widget.alignment, | |||
alignment: widget.alignment is FractionalOffset ? widget.alignment : widget.alignment.resolve(Directionality.of(context)), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is less efficient than doing the resolve on the RenderImage
because if you're using a FractionalOffsetDirectional
, you'll re-resolve every build where as the RenderImage
pattern only re-resolves when either the alignment
or the textDirection
change.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
if I'm going to send a textDirection down there anyway, I guess I can move all the flipHorizontally logic there too...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(that'll bring it from 3 sites to 2)
..clipRect(rect: new Rect.fromLTRB(0.0, 0.0, 100.0, 50.0)) | ||
..translate(x: 50.0, y: 0.0) | ||
..scale(x: -1.0, y: 1.0) | ||
..translate(x: -50.0, y: 0.0) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh, we already have the transform ops.
Looks pretty good, but I'd move the |
I'm headed to sleep, but LGTM for whatever you decide to do about the code duplication. Getting it down to two might be enough. The general rule of thumb I like is that three copies is when its worth thinking hard about how to share. |
I found an interesting bug when moving stuff to RenderImage, which affected all the other render objects that took textDirection and used it before layout (so Stack, Padding, Align, etc): if you change the textDirection to null in the same frame as you make the textDirection unnecessary, you throw (or if you don't, then you instead throw on the frame where you change textDirection to non-null and make it necessary). I've fixed that, added some tests for it too (for Stack, Padding, and Image; I didn't test the other widgets), but the fix is ugly: the updateRenderObject methods have to actually verify whether the textDirection is non-null, and if so, set it before the other properties, otherwise, it has to be set last. PTAL. |
@@ -1129,9 +1129,12 @@ class Padding extends SingleChildRenderObjectWidget { | |||
|
|||
@override | |||
void updateRenderObject(BuildContext context, RenderPadding renderObject) { | |||
final TextDirection textDirection = Directionality.of(context); | |||
if (textDirection != null) | |||
renderObject.textDirection = textDirection; // in case it was null before, we must set it before anything that depends on it |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hum... This pattern is pretty ugly. Here are two alternatives:
-
Delay resolving the padding/alignment until the resolve value is actually needed. This will give both writes a chance to land before we resolve (avoiding the problem of resolving in an inconsistent state).
-
Add a method to set the padding/alignment and textDirection at the same time. That will like the client perform an atomic write of both properties an avoid the inconsistent state entirely.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Number 1 is my preferred approach, but it means being more aggressive about marking things dirty. I'll try that.
Ok I apply #1 everywhere. PTAL. |
_updateColorFilter(); | ||
} | ||
|
||
bool _needsResolution = true; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You might want to use the nullity of _resolvedAlignment for this bit. That also stops code from using stale values because they'll be nulled out.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah, yes. That's the solution I was looking for. Thanks.
|
||
// The resolved absolute insets. | ||
bool _needsResolution = true; | ||
EdgeInsets _resolvedPadding; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same thought here about using the nullity of _resolvedPadding to represent that the value needs to be computed.
Switched to using nullness instead of an explicit flag. |
thanks for the review, will check in on green |
1b63444 Revert "Started taking advantage of Skia's new copyTableData to avoid (#10154)" (#12263) 0897b50 Roll fuchsia/sdk/core/linux-amd64 from 6a4X4... to Xfeuz... (#12261) 186014c Roll src/third_party/skia be194479d27f..043dba039e0d (23 commits) (#12262) 4debdda Roll fuchsia/sdk/core/mac-amd64 from JVZ_i... to gVBCH... (#12260) 9e7bd05 Roll src/third_party/dart d9489622be..a554c8be6b (10 commits) 850d80c Revert "Add some AppLifecycleTests (#11890)" (#12264) 46ff053 Add some AppLifecycleTests (#11890) ca4c3f6 Add an initial macOS version of FlutterAppDelegate (#12230) 6e6de94 Roll dart to d9489622befb638c040975163cf9b8eba2ff057b. (#12255) 5c86111 [glfw/windows] Stops keeping track of input models (#12234) 9c84659 Editable text fix (#12249) cce4b5b Roll src/third_party/dart e6887536aa..c74e68e501 (14 commits) 55c346a Roll fuchsia/sdk/core/linux-amd64 from vuG5q... to 6a4X4... (#12252) 6beba53 Started taking advantage of Skia's new copyTableData to avoid (#10154) 3c6383f Revert "Smooth out iOS irregular input events delivery (#11817)" (#12251) d6f0b64 pin and auto-install chrome version (#12228) 2698a0e Roll fuchsia/sdk/core/mac-amd64 from Ne2UA... to JVZ_i... (#12250) dfa9498 Enable platform view keyboard input on Android Q (#12085) bf91a8d Roll fuchsia/sdk/core/linux-amd64 from u7Q31... to vuG5q... (#12238) 58ecf52 Roll src/third_party/skia 7c47d41067d4..be194479d27f (4 commits) (#12237) c71580b Roll dart to e6887536aadc7fbd1990448989601cee0224958d. (#12235) cf1d156 Roll fuchsia/sdk/core/mac-amd64 from _nS67... to Ne2UA... (#12236) bbb1f12 Adjust iOS frame start times to match the platform info (#11802) 1de28d0 Roll src/third_party/skia 50f377e275c3..7c47d41067d4 (3 commits) (#12231) da84d59 Revert "Manage iOS contexts separately (#12078)" (#12233) 4ac0663 Manage iOS contexts separately (#12078) 28d7900 Roll src/third_party/skia 120e7d6766e4..50f377e275c3 (7 commits) (#12224) 5b94c8a Revert "Roll src/third_party/dart be66176534..ec7ec4ecf7 (37 commits)" (#12223) 988efe3 Do not generate kernel platform files on topaz tree (#12222) 6c46a17 Don't disable toString in release mode for dart:ui classes (#12204) 80b8ed8 Roll fuchsia/sdk/core/linux-amd64 from 7gDBN... to u7Q31... (#12221) 7a8caaa Roll src/third_party/skia d96ef09317d6..120e7d6766e4 (2 commits) (#12220) c8428ff Roll fuchsia/sdk/core/mac-amd64 from vDk46... to _nS67... (#12219) 2bdfb61 Namespace patched SDK names to not conflict with Topaz (#12218) ff1fcfb Roll src/third_party/dart ca7baa4013..4d5e15abde (29 commits) 2b78c59 Roll src/third_party/skia 14318c140949..d96ef09317d6 (2 commits) (#12216) d74ed76 Roll src/third_party/skia b23a4f9d9442..14318c140949 (2 commits) (#12215) c58c593 Roll src/third_party/skia 26ac0467cb4c..b23a4f9d9442 (2 commits) (#12214) 5e85403 Roll src/third_party/dart 7bbfd532de..ca7baa4013 (3 commits) e2cc04c Roll fuchsia/sdk/core/linux-amd64 from R1yqu... to 7gDBN... (#12212) 6fbfb45 Roll fuchsia/sdk/core/mac-amd64 from spUG2... to vDk46... (#12210) 96443e2 Roll buildroot and Fuchsia toolchain and unblock the Fuchsia/Linux autoroller manually. (#12209) 34cf4f7 Roll src/third_party/skia 4fe30e15c06c..26ac0467cb4c (2 commits) (#12207) 92d42c0 Only build the x64 variant of Fuchsia on the try-jobs. (#12206) e174b4b Don't load Roboto by default (#12205) efb32a6 Roll src/third_party/dart 300c3333d1..7bbfd532de (5 commits) 5566be1 Roll src/third_party/skia 66d8006c2bb1..4fe30e15c06c (11 commits) (#12202) e9c9984 add a convenience CLI tool for building and testing web engine (#12197) bfa43e1 [flutter_runner] Generate symbols for the Dart VM profiler (#12048) 954f198 Add custom test plugin that supports screenshot tests (#12079) d8379f9 Move the Fuchsia tryjob into a its own step and disable LTO. (#12190) c12ac24 Roll src/third_party/dart 62f78a7abb..300c3333d1 (6 commits) cab3a39 Roll src/third_party/skia b88894c8811b..66d8006c2bb1 (5 commits) (#12178) 2592d6e [flutter_runner] Port the accessibility bridge from Topaz (#12054) b569e8c Smooth out iOS irregular input events delivery (#11817) dea813d Roll src/third_party/dart ccb6ba948b..62f78a7abb (3 commits) 2438798 Make ImageShader implement Shader for web ui (#12161) c31583a Roll src/third_party/dart 2e8d912848..ccb6ba948b (30 commits) 4542886 Roll src/third_party/skia 9e5c47936b17..b88894c8811b (3 commits) (#12151) 548998f Roll src/third_party/skia 1bf30ce852e0..9e5c47936b17 (2 commits) (#12129) f1490a2 Roll src/third_party/skia 8cae1e95a23b..1bf30ce852e0 (2 commits) (#12106) 19b2d43 Roll fuchsia/clang/mac-amd64 from H1Qjc... to HfPKR... (#12088) d816755 Don't launch the observatory by default on each embedder unit-test invocation. (#12087) 39c8067 Roll src/third_party/skia c2d84bfa7421..8cae1e95a23b (4 commits) (#12086) b19e75a Roll src/third_party/dart fb14babf59..2e8d912848 (65 commits) 03e773a Guard availability of user notification related methods to iOS 10.0 (#12084) 9c00c26 Add capability to add AppDelegate as UNUserNotificationCenterDelegate (#9864) c2e8289 Add GradientRadial paintStyle implementation (#12081) c3eea0a Don't quote generic font families (#12080) c2b3d88 Roll src/third_party/skia 28d40b2e7ade..c2d84bfa7421 (3 commits) (#12082) a4de006 Remove ENABLE_BITCODE from Scenarios test app (#11839) 6e017f0 Roll src/third_party/skia 4f2674da4bbc..28d40b2e7ade (4 commits) (#12077) e911b05 Roll src/third_party/skia 627d15588f4d..4f2674da4bbc (1 commits) (#12075) 359e663 Roll src/third_party/skia 6c3bd09ead0f..627d15588f4d (3 commits) (#12074) 38d545e Improve Unicode handling on Windows (#11899) 89efb4c Roll fuchsia/clang/linux-amd64 from VoYNW... to 2IT_b... (#12072) dc8e30d Roll fuchsia/clang/mac-amd64 from XAazI... to H1Qjc... (#12071) 8cdb3af Annotate nullability on FlutterEngine to make swift writing more ergonomic (#11808) aa9aaa2 Roll src/third_party/skia f433336585ed..6c3bd09ead0f (1 commits) (#12070) 075a61f Roll src/third_party/skia 69a426f5a427..f433336585ed (1 commits) (#12068) a610505 option for --no-lto for fuchsia (#12010) be39820 Roll src/third_party/skia 380561393385..69a426f5a427 (2 commits) (#12067) 6bafbf9 Roll src/third_party/skia c30f1a936d84..380561393385 (3 commits) (#12059) e2ba93d Roll src/third_party/dart ec7ec4ecf7..fb14babf59 (19 commits) 723a288 Roll fuchsia/clang/linux-amd64 from -mnHl... to VoYNW... (#12058) 35875e0 Revert "Manage resource and onscreen contexts using separate IOSGLContext objects (#11798)" (#12055) a353f93 Manage resource and onscreen contexts using separate IOSGLContext objects (#11798) c9ea4db [flutter_runner] Refactor our build rules to make them more inline with topaz. (#12034) 50bdbd7 Document dependencies and remove support-v13 (#11912) 0c6a538 Roll src/third_party/dart be66176534..ec7ec4ecf7 (37 commits) 37f81cd Roll src/third_party/skia 080d210e7acc..c30f1a936d84 (21 commits) (#12031)
1b63444 Revert "Started taking advantage of Skia's new copyTableData to avoid (flutter#10154)" (flutter#12263) 0897b50 Roll fuchsia/sdk/core/linux-amd64 from 6a4X4... to Xfeuz... (flutter#12261) 186014c Roll src/third_party/skia be194479d27f..043dba039e0d (23 commits) (flutter#12262) 4debdda Roll fuchsia/sdk/core/mac-amd64 from JVZ_i... to gVBCH... (flutter#12260) 9e7bd05 Roll src/third_party/dart d9489622be..a554c8be6b (10 commits) 850d80c Revert "Add some AppLifecycleTests (flutter#11890)" (flutter#12264) 46ff053 Add some AppLifecycleTests (flutter#11890) ca4c3f6 Add an initial macOS version of FlutterAppDelegate (flutter#12230) 6e6de94 Roll dart to d9489622befb638c040975163cf9b8eba2ff057b. (flutter#12255) 5c86111 [glfw/windows] Stops keeping track of input models (flutter#12234) 9c84659 Editable text fix (flutter#12249) cce4b5b Roll src/third_party/dart e6887536aa..c74e68e501 (14 commits) 55c346a Roll fuchsia/sdk/core/linux-amd64 from vuG5q... to 6a4X4... (flutter#12252) 6beba53 Started taking advantage of Skia's new copyTableData to avoid (flutter#10154) 3c6383f Revert "Smooth out iOS irregular input events delivery (flutter#11817)" (flutter#12251) d6f0b64 pin and auto-install chrome version (flutter#12228) 2698a0e Roll fuchsia/sdk/core/mac-amd64 from Ne2UA... to JVZ_i... (flutter#12250) dfa9498 Enable platform view keyboard input on Android Q (flutter#12085) bf91a8d Roll fuchsia/sdk/core/linux-amd64 from u7Q31... to vuG5q... (flutter#12238) 58ecf52 Roll src/third_party/skia 7c47d41067d4..be194479d27f (4 commits) (flutter#12237) c71580b Roll dart to e6887536aadc7fbd1990448989601cee0224958d. (flutter#12235) cf1d156 Roll fuchsia/sdk/core/mac-amd64 from _nS67... to Ne2UA... (flutter#12236) bbb1f12 Adjust iOS frame start times to match the platform info (flutter#11802) 1de28d0 Roll src/third_party/skia 50f377e275c3..7c47d41067d4 (3 commits) (flutter#12231) da84d59 Revert "Manage iOS contexts separately (flutter#12078)" (flutter#12233) 4ac0663 Manage iOS contexts separately (flutter#12078) 28d7900 Roll src/third_party/skia 120e7d6766e4..50f377e275c3 (7 commits) (flutter#12224) 5b94c8a Revert "Roll src/third_party/dart be66176534..ec7ec4ecf7 (37 commits)" (flutter#12223) 988efe3 Do not generate kernel platform files on topaz tree (flutter#12222) 6c46a17 Don't disable toString in release mode for dart:ui classes (flutter#12204) 80b8ed8 Roll fuchsia/sdk/core/linux-amd64 from 7gDBN... to u7Q31... (flutter#12221) 7a8caaa Roll src/third_party/skia d96ef09317d6..120e7d6766e4 (2 commits) (flutter#12220) c8428ff Roll fuchsia/sdk/core/mac-amd64 from vDk46... to _nS67... (flutter#12219) 2bdfb61 Namespace patched SDK names to not conflict with Topaz (flutter#12218) ff1fcfb Roll src/third_party/dart ca7baa4013..4d5e15abde (29 commits) 2b78c59 Roll src/third_party/skia 14318c140949..d96ef09317d6 (2 commits) (flutter#12216) d74ed76 Roll src/third_party/skia b23a4f9d9442..14318c140949 (2 commits) (flutter#12215) c58c593 Roll src/third_party/skia 26ac0467cb4c..b23a4f9d9442 (2 commits) (flutter#12214) 5e85403 Roll src/third_party/dart 7bbfd532de..ca7baa4013 (3 commits) e2cc04c Roll fuchsia/sdk/core/linux-amd64 from R1yqu... to 7gDBN... (flutter#12212) 6fbfb45 Roll fuchsia/sdk/core/mac-amd64 from spUG2... to vDk46... (flutter#12210) 96443e2 Roll buildroot and Fuchsia toolchain and unblock the Fuchsia/Linux autoroller manually. (flutter#12209) 34cf4f7 Roll src/third_party/skia 4fe30e15c06c..26ac0467cb4c (2 commits) (flutter#12207) 92d42c0 Only build the x64 variant of Fuchsia on the try-jobs. (flutter#12206) e174b4b Don't load Roboto by default (flutter#12205) efb32a6 Roll src/third_party/dart 300c3333d1..7bbfd532de (5 commits) 5566be1 Roll src/third_party/skia 66d8006c2bb1..4fe30e15c06c (11 commits) (flutter#12202) e9c9984 add a convenience CLI tool for building and testing web engine (flutter#12197) bfa43e1 [flutter_runner] Generate symbols for the Dart VM profiler (flutter#12048) 954f198 Add custom test plugin that supports screenshot tests (flutter#12079) d8379f9 Move the Fuchsia tryjob into a its own step and disable LTO. (flutter#12190) c12ac24 Roll src/third_party/dart 62f78a7abb..300c3333d1 (6 commits) cab3a39 Roll src/third_party/skia b88894c8811b..66d8006c2bb1 (5 commits) (flutter#12178) 2592d6e [flutter_runner] Port the accessibility bridge from Topaz (flutter#12054) b569e8c Smooth out iOS irregular input events delivery (flutter#11817) dea813d Roll src/third_party/dart ccb6ba948b..62f78a7abb (3 commits) 2438798 Make ImageShader implement Shader for web ui (flutter#12161) c31583a Roll src/third_party/dart 2e8d912848..ccb6ba948b (30 commits) 4542886 Roll src/third_party/skia 9e5c47936b17..b88894c8811b (3 commits) (flutter#12151) 548998f Roll src/third_party/skia 1bf30ce852e0..9e5c47936b17 (2 commits) (flutter#12129) f1490a2 Roll src/third_party/skia 8cae1e95a23b..1bf30ce852e0 (2 commits) (flutter#12106) 19b2d43 Roll fuchsia/clang/mac-amd64 from H1Qjc... to HfPKR... (flutter#12088) d816755 Don't launch the observatory by default on each embedder unit-test invocation. (flutter#12087) 39c8067 Roll src/third_party/skia c2d84bfa7421..8cae1e95a23b (4 commits) (flutter#12086) b19e75a Roll src/third_party/dart fb14babf59..2e8d912848 (65 commits) 03e773a Guard availability of user notification related methods to iOS 10.0 (flutter#12084) 9c00c26 Add capability to add AppDelegate as UNUserNotificationCenterDelegate (flutter#9864) c2e8289 Add GradientRadial paintStyle implementation (flutter#12081) c3eea0a Don't quote generic font families (flutter#12080) c2b3d88 Roll src/third_party/skia 28d40b2e7ade..c2d84bfa7421 (3 commits) (flutter#12082) a4de006 Remove ENABLE_BITCODE from Scenarios test app (flutter#11839) 6e017f0 Roll src/third_party/skia 4f2674da4bbc..28d40b2e7ade (4 commits) (flutter#12077) e911b05 Roll src/third_party/skia 627d15588f4d..4f2674da4bbc (1 commits) (flutter#12075) 359e663 Roll src/third_party/skia 6c3bd09ead0f..627d15588f4d (3 commits) (flutter#12074) 38d545e Improve Unicode handling on Windows (flutter#11899) 89efb4c Roll fuchsia/clang/linux-amd64 from VoYNW... to 2IT_b... (flutter#12072) dc8e30d Roll fuchsia/clang/mac-amd64 from XAazI... to H1Qjc... (flutter#12071) 8cdb3af Annotate nullability on FlutterEngine to make swift writing more ergonomic (flutter#11808) aa9aaa2 Roll src/third_party/skia f433336585ed..6c3bd09ead0f (1 commits) (flutter#12070) 075a61f Roll src/third_party/skia 69a426f5a427..f433336585ed (1 commits) (flutter#12068) a610505 option for --no-lto for fuchsia (flutter#12010) be39820 Roll src/third_party/skia 380561393385..69a426f5a427 (2 commits) (flutter#12067) 6bafbf9 Roll src/third_party/skia c30f1a936d84..380561393385 (3 commits) (flutter#12059) e2ba93d Roll src/third_party/dart ec7ec4ecf7..fb14babf59 (19 commits) 723a288 Roll fuchsia/clang/linux-amd64 from -mnHl... to VoYNW... (flutter#12058) 35875e0 Revert "Manage resource and onscreen contexts using separate IOSGLContext objects (flutter#11798)" (flutter#12055) a353f93 Manage resource and onscreen contexts using separate IOSGLContext objects (flutter#11798) c9ea4db [flutter_runner] Refactor our build rules to make them more inline with topaz. (flutter#12034) 50bdbd7 Document dependencies and remove support-v13 (flutter#11912) 0c6a538 Roll src/third_party/dart be66176534..ec7ec4ecf7 (37 commits) 37f81cd Roll src/third_party/skia 080d210e7acc..c30f1a936d84 (21 commits) (flutter#12031)
No description provided.