38667e5667
Supercedes the following (reverted/abandoned) CLs: * https://dart-review.googlesource.com/c/sdk/+/162383 * https://dart-review.googlesource.com/c/sdk/+/165149 * https://dart-review.googlesource.com/c/sdk/+/165782 Fixes https://github.com/flutter/flutter/issues/66859 and https://github.com/flutter/flutter/issues/64011 Thanks to Siggi for this approach! Change-Id: I8e496fdb938e18252ec8a0cf7232c99ca8c27080 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/166127 Commit-Queue: Mark Zhou <markzipan@google.com> Reviewed-by: Nicholas Shahan <nshahan@google.com>