• Ian Hickson's avatar
    Flush microtasks after transient callbacks are run. (#9702) · e8c46927
    Ian Hickson authored
    This splits the frame pipeline into two, beginFrame and drawFrame.
    
    As part of making this change I added some debugging hooks that helped
    debug the issues that came up:
    
     * I added debugPrintScheduleFrameStacks which prints a stack whenever
       a frame is actually scheduled, so you can see why frames are being
       scheduled.
    
     * I added some toString output to EditableText and RawKeyboardListener.
    
     * I added a scheduler_tester.dart library for scheduler library tests.
    
     * I changed the test framework to flush microtasks before pumping.
    
     * Some asserts that had the old string literal form were replaced by
       asserts with messages.
    
    I also fixed a few subtle bugs that this uncovered:
    
     * setState() now calls `ensureVisualUpdate`, rather than
       `scheduleFrame`. This means that calling it from an
       AnimationController callback does not actually schedule an extra
       redundant frame as it used to.
    
     * I corrected some documentation.
    e8c46927
Name
Last commit
Last update
..
aspect_ratio_test.dart Loading commit data...
baseline_test.dart Loading commit data...
box_constraints_test.dart Loading commit data...
box_test.dart Loading commit data...
cached_intrinsics_test.dart Loading commit data...
constraints_test.dart Loading commit data...
debug_test.dart Loading commit data...
dynamic_intrinsics_test.dart Loading commit data...
error_test.dart Loading commit data...
flex_test.dart Loading commit data...
image_test.dart Loading commit data...
independent_layout_test.dart Loading commit data...
intrinsic_width_test.dart Loading commit data...
layers_test.dart Loading commit data...
limited_box_test.dart Loading commit data...
mock_canvas.dart Loading commit data...
mutations_test.dart Loading commit data...
non_render_object_root_test.dart Loading commit data...
offstage_test.dart Loading commit data...
overflow_test.dart Loading commit data...
paragraph_intrinsics_test.dart Loading commit data...
paragraph_test.dart Loading commit data...
positioned_box_test.dart Loading commit data...
proxy_box_test.dart Loading commit data...
proxy_getters_and_setters_test.dart Loading commit data...
reattach_test.dart Loading commit data...
recording_canvas.dart Loading commit data...
relative_rect_test.dart Loading commit data...
rendering_tester.dart Loading commit data...
repaint_boundary_test.dart Loading commit data...
semantics_and_children_test.dart Loading commit data...
size_test.dart Loading commit data...
slivers_block_test.dart Loading commit data...
slivers_helpers_test.dart Loading commit data...
slivers_layout_test.dart Loading commit data...
slivers_test.dart Loading commit data...
stack_test.dart Loading commit data...
table_test.dart Loading commit data...
transform_test.dart Loading commit data...