Unverified Commit 96ebfec1 authored by Greg Spencer's avatar Greg Spencer Committed by GitHub

Add diagnostics around needsCompositing (#32656)

Added diagnostic output for needsCompositing to RenderObject diagnostics output.
parent 894dca77
...@@ -2577,6 +2577,8 @@ abstract class RenderObject extends AbstractNode with DiagnosticableTreeMixin im ...@@ -2577,6 +2577,8 @@ abstract class RenderObject extends AbstractNode with DiagnosticableTreeMixin im
header += ' NEEDS-LAYOUT'; header += ' NEEDS-LAYOUT';
if (_needsPaint) if (_needsPaint)
header += ' NEEDS-PAINT'; header += ' NEEDS-PAINT';
if (_needsCompositingBitsUpdate)
header += ' NEEDS-COMPOSITING-BITS-UPDATE';
if (!attached) if (!attached)
header += ' DETACHED'; header += ' DETACHED';
return header; return header;
...@@ -2640,6 +2642,7 @@ abstract class RenderObject extends AbstractNode with DiagnosticableTreeMixin im ...@@ -2640,6 +2642,7 @@ abstract class RenderObject extends AbstractNode with DiagnosticableTreeMixin im
@override @override
void debugFillProperties(DiagnosticPropertiesBuilder properties) { void debugFillProperties(DiagnosticPropertiesBuilder properties) {
super.debugFillProperties(properties); super.debugFillProperties(properties);
properties.add(FlagProperty('needsCompositing', value: _needsCompositing, ifTrue: 'needs compositing'));
properties.add(DiagnosticsProperty<dynamic>('creator', debugCreator, defaultValue: null, level: DiagnosticLevel.debug)); properties.add(DiagnosticsProperty<dynamic>('creator', debugCreator, defaultValue: null, level: DiagnosticLevel.debug));
properties.add(DiagnosticsProperty<ParentData>('parentData', parentData, tooltip: _debugCanParentUseSize == true ? 'can use size' : null, missingIfNull: true)); properties.add(DiagnosticsProperty<ParentData>('parentData', parentData, tooltip: _debugCanParentUseSize == true ? 'can use size' : null, missingIfNull: true));
properties.add(DiagnosticsProperty<Constraints>('constraints', constraints, missingIfNull: true)); properties.add(DiagnosticsProperty<Constraints>('constraints', constraints, missingIfNull: true));
......
...@@ -32,7 +32,7 @@ void main() { ...@@ -32,7 +32,7 @@ void main() {
expect( expect(
parent.toStringDeep(minLevel: DiagnosticLevel.info), parent.toStringDeep(minLevel: DiagnosticLevel.info),
equalsIgnoringHashCodes( equalsIgnoringHashCodes(
'RenderConstrainedOverflowBox#00000 NEEDS-PAINT\n' 'RenderConstrainedOverflowBox#00000 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE\n'
' │ parentData: <none>\n' ' │ parentData: <none>\n'
' │ constraints: BoxConstraints(w=800.0, h=600.0)\n' ' │ constraints: BoxConstraints(w=800.0, h=600.0)\n'
' │ size: Size(800.0, 600.0)\n' ' │ size: Size(800.0, 600.0)\n'
...@@ -42,7 +42,7 @@ void main() { ...@@ -42,7 +42,7 @@ void main() {
' │ minHeight: 0.0\n' ' │ minHeight: 0.0\n'
' │ maxHeight: Infinity\n' ' │ maxHeight: Infinity\n'
' │\n' ' │\n'
' └─child: RenderLimitedBox#00000 relayoutBoundary=up1 NEEDS-PAINT\n' ' └─child: RenderLimitedBox#00000 relayoutBoundary=up1 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE\n'
' │ parentData: offset=Offset(350.0, 200.0) (can use size)\n' ' │ parentData: offset=Offset(350.0, 200.0) (can use size)\n'
' │ constraints: BoxConstraints(unconstrained)\n' ' │ constraints: BoxConstraints(unconstrained)\n'
' │ size: Size(100.0, 200.0)\n' ' │ size: Size(100.0, 200.0)\n'
...@@ -118,7 +118,7 @@ void main() { ...@@ -118,7 +118,7 @@ void main() {
expect( expect(
parent.toStringDeep(minLevel: DiagnosticLevel.info), parent.toStringDeep(minLevel: DiagnosticLevel.info),
equalsIgnoringHashCodes( equalsIgnoringHashCodes(
'RenderConstrainedOverflowBox#00000 NEEDS-PAINT\n' 'RenderConstrainedOverflowBox#00000 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE\n'
' │ parentData: <none>\n' ' │ parentData: <none>\n'
' │ constraints: BoxConstraints(w=800.0, h=600.0)\n' ' │ constraints: BoxConstraints(w=800.0, h=600.0)\n'
' │ size: Size(800.0, 600.0)\n' ' │ size: Size(800.0, 600.0)\n'
...@@ -154,7 +154,7 @@ void main() { ...@@ -154,7 +154,7 @@ void main() {
expect( expect(
parent.toStringDeep(minLevel: DiagnosticLevel.info), parent.toStringDeep(minLevel: DiagnosticLevel.info),
equalsIgnoringHashCodes( equalsIgnoringHashCodes(
'RenderConstrainedOverflowBox#00000 NEEDS-PAINT\n' 'RenderConstrainedOverflowBox#00000 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE\n'
' │ parentData: <none>\n' ' │ parentData: <none>\n'
' │ constraints: BoxConstraints(w=800.0, h=600.0)\n' ' │ constraints: BoxConstraints(w=800.0, h=600.0)\n'
' │ size: Size(800.0, 600.0)\n' ' │ size: Size(800.0, 600.0)\n'
......
...@@ -21,6 +21,7 @@ void main() { ...@@ -21,6 +21,7 @@ void main() {
root.toStringDeep(minLevel: DiagnosticLevel.info), root.toStringDeep(minLevel: DiagnosticLevel.info),
equalsIgnoringHashCodes( equalsIgnoringHashCodes(
'RenderViewport#00000 NEEDS-LAYOUT NEEDS-PAINT DETACHED\n' 'RenderViewport#00000 NEEDS-LAYOUT NEEDS-PAINT DETACHED\n'
' needs compositing\n'
' parentData: MISSING\n' ' parentData: MISSING\n'
' constraints: MISSING\n' ' constraints: MISSING\n'
' size: MISSING\n' ' size: MISSING\n'
...@@ -37,6 +38,7 @@ void main() { ...@@ -37,6 +38,7 @@ void main() {
root.toStringDeep(minLevel: DiagnosticLevel.info), root.toStringDeep(minLevel: DiagnosticLevel.info),
equalsIgnoringHashCodes( equalsIgnoringHashCodes(
'RenderViewport#00000 NEEDS-LAYOUT NEEDS-PAINT\n' 'RenderViewport#00000 NEEDS-LAYOUT NEEDS-PAINT\n'
' needs compositing\n'
' parentData: <none>\n' ' parentData: <none>\n'
' constraints: BoxConstraints(w=800.0, h=600.0)\n' ' constraints: BoxConstraints(w=800.0, h=600.0)\n'
' size: Size(800.0, 600.0)\n' ' size: Size(800.0, 600.0)\n'
...@@ -73,7 +75,8 @@ void main() { ...@@ -73,7 +75,8 @@ void main() {
expect( expect(
root.toStringDeep(minLevel: DiagnosticLevel.info), root.toStringDeep(minLevel: DiagnosticLevel.info),
equalsIgnoringHashCodes( equalsIgnoringHashCodes(
'RenderViewport#00000 NEEDS-PAINT\n' 'RenderViewport#00000 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE\n'
' │ needs compositing\n'
' │ parentData: <none>\n' ' │ parentData: <none>\n'
' │ constraints: BoxConstraints(w=800.0, h=600.0)\n' ' │ constraints: BoxConstraints(w=800.0, h=600.0)\n'
' │ size: Size(800.0, 600.0)\n' ' │ size: Size(800.0, 600.0)\n'
...@@ -82,7 +85,7 @@ void main() { ...@@ -82,7 +85,7 @@ void main() {
' │ offset: _FixedViewportOffset#00000(offset: 0.0)\n' ' │ offset: _FixedViewportOffset#00000(offset: 0.0)\n'
' │ anchor: 0.0\n' ' │ anchor: 0.0\n'
' │\n' ' │\n'
' ├─center child: RenderSliverToBoxAdapter#00000 relayoutBoundary=up1 NEEDS-PAINT\n' ' ├─center child: RenderSliverToBoxAdapter#00000 relayoutBoundary=up1 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE\n'
' │ │ parentData: paintOffset=Offset(0.0, 0.0) (can use size)\n' ' │ │ parentData: paintOffset=Offset(0.0, 0.0) (can use size)\n'
' │ │ constraints: SliverConstraints(AxisDirection.down,\n' ' │ │ constraints: SliverConstraints(AxisDirection.down,\n'
' │ │ GrowthDirection.forward, ScrollDirection.idle, scrollOffset:\n' ' │ │ GrowthDirection.forward, ScrollDirection.idle, scrollOffset:\n'
...@@ -98,7 +101,7 @@ void main() { ...@@ -98,7 +101,7 @@ void main() {
' │ constraints: BoxConstraints(w=800.0, 0.0<=h<=Infinity)\n' ' │ constraints: BoxConstraints(w=800.0, 0.0<=h<=Infinity)\n'
' │ size: Size(800.0, 400.0)\n' ' │ size: Size(800.0, 400.0)\n'
' │\n' ' │\n'
' ├─child 1: RenderSliverToBoxAdapter#00000 relayoutBoundary=up1 NEEDS-PAINT\n' ' ├─child 1: RenderSliverToBoxAdapter#00000 relayoutBoundary=up1 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE\n'
' │ │ parentData: paintOffset=Offset(0.0, 400.0) (can use size)\n' ' │ │ parentData: paintOffset=Offset(0.0, 400.0) (can use size)\n'
' │ │ constraints: SliverConstraints(AxisDirection.down,\n' ' │ │ constraints: SliverConstraints(AxisDirection.down,\n'
' │ │ GrowthDirection.forward, ScrollDirection.idle, scrollOffset:\n' ' │ │ GrowthDirection.forward, ScrollDirection.idle, scrollOffset:\n'
...@@ -115,7 +118,7 @@ void main() { ...@@ -115,7 +118,7 @@ void main() {
' │ constraints: BoxConstraints(w=800.0, 0.0<=h<=Infinity)\n' ' │ constraints: BoxConstraints(w=800.0, 0.0<=h<=Infinity)\n'
' │ size: Size(800.0, 400.0)\n' ' │ size: Size(800.0, 400.0)\n'
' │\n' ' │\n'
' ├─child 2: RenderSliverToBoxAdapter#00000 relayoutBoundary=up1 NEEDS-PAINT\n' ' ├─child 2: RenderSliverToBoxAdapter#00000 relayoutBoundary=up1 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE\n'
' │ │ parentData: paintOffset=Offset(0.0, 800.0) (can use size)\n' ' │ │ parentData: paintOffset=Offset(0.0, 800.0) (can use size)\n'
' │ │ constraints: SliverConstraints(AxisDirection.down,\n' ' │ │ constraints: SliverConstraints(AxisDirection.down,\n'
' │ │ GrowthDirection.forward, ScrollDirection.idle, scrollOffset:\n' ' │ │ GrowthDirection.forward, ScrollDirection.idle, scrollOffset:\n'
...@@ -132,7 +135,7 @@ void main() { ...@@ -132,7 +135,7 @@ void main() {
' │ constraints: BoxConstraints(w=800.0, 0.0<=h<=Infinity)\n' ' │ constraints: BoxConstraints(w=800.0, 0.0<=h<=Infinity)\n'
' │ size: Size(800.0, 400.0)\n' ' │ size: Size(800.0, 400.0)\n'
' │\n' ' │\n'
' ├─child 3: RenderSliverToBoxAdapter#00000 relayoutBoundary=up1 NEEDS-PAINT\n' ' ├─child 3: RenderSliverToBoxAdapter#00000 relayoutBoundary=up1 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE\n'
' │ │ parentData: paintOffset=Offset(0.0, 1200.0) (can use size)\n' ' │ │ parentData: paintOffset=Offset(0.0, 1200.0) (can use size)\n'
' │ │ constraints: SliverConstraints(AxisDirection.down,\n' ' │ │ constraints: SliverConstraints(AxisDirection.down,\n'
' │ │ GrowthDirection.forward, ScrollDirection.idle, scrollOffset:\n' ' │ │ GrowthDirection.forward, ScrollDirection.idle, scrollOffset:\n'
...@@ -148,7 +151,7 @@ void main() { ...@@ -148,7 +151,7 @@ void main() {
' │ constraints: BoxConstraints(w=800.0, 0.0<=h<=Infinity)\n' ' │ constraints: BoxConstraints(w=800.0, 0.0<=h<=Infinity)\n'
' │ size: Size(800.0, 400.0)\n' ' │ size: Size(800.0, 400.0)\n'
' │\n' ' │\n'
' └─child 4: RenderSliverToBoxAdapter#00000 relayoutBoundary=up1 NEEDS-PAINT\n' ' └─child 4: RenderSliverToBoxAdapter#00000 relayoutBoundary=up1 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE\n'
' │ parentData: paintOffset=Offset(0.0, 1600.0) (can use size)\n' ' │ parentData: paintOffset=Offset(0.0, 1600.0) (can use size)\n'
' │ constraints: SliverConstraints(AxisDirection.down,\n' ' │ constraints: SliverConstraints(AxisDirection.down,\n'
' │ GrowthDirection.forward, ScrollDirection.idle, scrollOffset:\n' ' │ GrowthDirection.forward, ScrollDirection.idle, scrollOffset:\n'
......
...@@ -91,7 +91,7 @@ void main() { ...@@ -91,7 +91,7 @@ void main() {
expect( expect(
table.toStringDeep(minLevel: DiagnosticLevel.info), table.toStringDeep(minLevel: DiagnosticLevel.info),
equalsIgnoringHashCodes( equalsIgnoringHashCodes(
'RenderTable#00000 relayoutBoundary=up1 NEEDS-PAINT\n' 'RenderTable#00000 relayoutBoundary=up1 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE\n'
' │ parentData: offset=Offset(335.0, 185.0) (can use size)\n' ' │ parentData: offset=Offset(335.0, 185.0) (can use size)\n'
' │ constraints: BoxConstraints(0.0<=w<=800.0, 0.0<=h<=600.0)\n' ' │ constraints: BoxConstraints(0.0<=w<=800.0, 0.0<=h<=600.0)\n'
' │ size: Size(130.0, 230.0)\n' ' │ size: Size(130.0, 230.0)\n'
......
...@@ -323,6 +323,7 @@ void main() { ...@@ -323,6 +323,7 @@ void main() {
box.toStringDeep(minLevel: DiagnosticLevel.hidden), box.toStringDeep(minLevel: DiagnosticLevel.hidden),
equalsIgnoringHashCodes( equalsIgnoringHashCodes(
'RenderPadding#00000 relayoutBoundary=up1\n' 'RenderPadding#00000 relayoutBoundary=up1\n'
' │ needsCompositing: false\n'
' │ creator: Padding ← Container ← Align ← [root]\n' ' │ creator: Padding ← Container ← Align ← [root]\n'
' │ parentData: offset=Offset(0.0, 0.0) (can use size)\n' ' │ parentData: offset=Offset(0.0, 0.0) (can use size)\n'
' │ constraints: BoxConstraints(0.0<=w<=800.0, 0.0<=h<=600.0)\n' ' │ constraints: BoxConstraints(0.0<=w<=800.0, 0.0<=h<=600.0)\n'
...@@ -335,6 +336,7 @@ void main() { ...@@ -335,6 +336,7 @@ void main() {
' │ textDirection: null\n' ' │ textDirection: null\n'
' │\n' ' │\n'
' └─child: RenderConstrainedBox#00000 relayoutBoundary=up2\n' ' └─child: RenderConstrainedBox#00000 relayoutBoundary=up2\n'
' │ needsCompositing: false\n'
' │ creator: ConstrainedBox ← Padding ← Container ← Align ← [root]\n' ' │ creator: ConstrainedBox ← Padding ← Container ← Align ← [root]\n'
' │ parentData: offset=Offset(5.0, 5.0) (can use size)\n' ' │ parentData: offset=Offset(5.0, 5.0) (can use size)\n'
' │ constraints: BoxConstraints(0.0<=w<=790.0, 0.0<=h<=590.0)\n' ' │ constraints: BoxConstraints(0.0<=w<=790.0, 0.0<=h<=590.0)\n'
...@@ -346,6 +348,7 @@ void main() { ...@@ -346,6 +348,7 @@ void main() {
' │ additionalConstraints: BoxConstraints(w=53.0, h=78.0)\n' ' │ additionalConstraints: BoxConstraints(w=53.0, h=78.0)\n'
' │\n' ' │\n'
' └─child: RenderDecoratedBox#00000\n' ' └─child: RenderDecoratedBox#00000\n'
' │ needsCompositing: false\n'
' │ creator: DecoratedBox ← ConstrainedBox ← Padding ← Container ←\n' ' │ creator: DecoratedBox ← ConstrainedBox ← Padding ← Container ←\n'
' │ Align ← [root]\n' ' │ Align ← [root]\n'
' │ parentData: <none> (can use size)\n' ' │ parentData: <none> (can use size)\n'
...@@ -368,6 +371,7 @@ void main() { ...@@ -368,6 +371,7 @@ void main() {
' │ android)\n' ' │ android)\n'
' │\n' ' │\n'
' └─child: RenderDecoratedBox#00000\n' ' └─child: RenderDecoratedBox#00000\n'
' │ needsCompositing: false\n'
' │ creator: DecoratedBox ← DecoratedBox ← ConstrainedBox ← Padding ←\n' ' │ creator: DecoratedBox ← DecoratedBox ← ConstrainedBox ← Padding ←\n'
' │ Container ← Align ← [root]\n' ' │ Container ← Align ← [root]\n'
' │ parentData: <none> (can use size)\n' ' │ parentData: <none> (can use size)\n'
...@@ -390,6 +394,7 @@ void main() { ...@@ -390,6 +394,7 @@ void main() {
' │ android)\n' ' │ android)\n'
' │\n' ' │\n'
' └─child: RenderPadding#00000\n' ' └─child: RenderPadding#00000\n'
' │ needsCompositing: false\n'
' │ creator: Padding ← DecoratedBox ← DecoratedBox ← ConstrainedBox ←\n' ' │ creator: Padding ← DecoratedBox ← DecoratedBox ← ConstrainedBox ←\n'
' │ Padding ← Container ← Align ← [root]\n' ' │ Padding ← Container ← Align ← [root]\n'
' │ parentData: <none> (can use size)\n' ' │ parentData: <none> (can use size)\n'
...@@ -403,6 +408,7 @@ void main() { ...@@ -403,6 +408,7 @@ void main() {
' │ textDirection: null\n' ' │ textDirection: null\n'
' │\n' ' │\n'
' └─child: RenderPositionedBox#00000\n' ' └─child: RenderPositionedBox#00000\n'
' │ needsCompositing: false\n'
' │ creator: Align ← Padding ← DecoratedBox ← DecoratedBox ←\n' ' │ creator: Align ← Padding ← DecoratedBox ← DecoratedBox ←\n'
' │ ConstrainedBox ← Padding ← Container ← Align ← [root]\n' ' │ ConstrainedBox ← Padding ← Container ← Align ← [root]\n'
' │ parentData: offset=Offset(7.0, 7.0) (can use size)\n' ' │ parentData: offset=Offset(7.0, 7.0) (can use size)\n'
...@@ -418,6 +424,7 @@ void main() { ...@@ -418,6 +424,7 @@ void main() {
' │ heightFactor: expand\n' ' │ heightFactor: expand\n'
' │\n' ' │\n'
' └─child: RenderConstrainedBox#00000 relayoutBoundary=up1\n' ' └─child: RenderConstrainedBox#00000 relayoutBoundary=up1\n'
' │ needsCompositing: false\n'
' │ creator: SizedBox ← Align ← Padding ← DecoratedBox ← DecoratedBox\n' ' │ creator: SizedBox ← Align ← Padding ← DecoratedBox ← DecoratedBox\n'
' │ ← ConstrainedBox ← Padding ← Container ← Align ← [root]\n' ' │ ← ConstrainedBox ← Padding ← Container ← Align ← [root]\n'
' │ parentData: offset=Offset(14.0, 31.0) (can use size)\n' ' │ parentData: offset=Offset(14.0, 31.0) (can use size)\n'
...@@ -430,6 +437,7 @@ void main() { ...@@ -430,6 +437,7 @@ void main() {
' │ additionalConstraints: BoxConstraints(w=25.0, h=33.0)\n' ' │ additionalConstraints: BoxConstraints(w=25.0, h=33.0)\n'
' │\n' ' │\n'
' └─child: RenderDecoratedBox#00000\n' ' └─child: RenderDecoratedBox#00000\n'
' needsCompositing: false\n'
' creator: DecoratedBox ← SizedBox ← Align ← Padding ← DecoratedBox\n' ' creator: DecoratedBox ← SizedBox ← Align ← Padding ← DecoratedBox\n'
' ← DecoratedBox ← ConstrainedBox ← Padding ← Container ← Align ←\n' ' ← DecoratedBox ← ConstrainedBox ← Padding ← Container ← Align ←\n'
' [root]\n' ' [root]\n'
......
...@@ -208,6 +208,7 @@ void main() { ...@@ -208,6 +208,7 @@ void main() {
' │ configuration: Size(800.0, 600.0) at 3.0x (in logical pixels)\n' ' │ configuration: Size(800.0, 600.0) at 3.0x (in logical pixels)\n'
' │\n' ' │\n'
' └─child: RenderRepaintBoundary#00000\n' ' └─child: RenderRepaintBoundary#00000\n'
' │ needs compositing\n'
' │ parentData: <none>\n' ' │ parentData: <none>\n'
' │ constraints: BoxConstraints(w=800.0, h=600.0)\n' ' │ constraints: BoxConstraints(w=800.0, h=600.0)\n'
' │ layer: OffsetLayer#00000\n' ' │ layer: OffsetLayer#00000\n'
...@@ -217,11 +218,13 @@ void main() { ...@@ -217,11 +218,13 @@ void main() {
' │ repaints)\n' ' │ repaints)\n'
' │\n' ' │\n'
' └─child: RenderCustomPaint#00000\n' ' └─child: RenderCustomPaint#00000\n'
' │ needs compositing\n'
' │ parentData: <none> (can use size)\n' ' │ parentData: <none> (can use size)\n'
' │ constraints: BoxConstraints(w=800.0, h=600.0)\n' ' │ constraints: BoxConstraints(w=800.0, h=600.0)\n'
' │ size: Size(800.0, 600.0)\n' ' │ size: Size(800.0, 600.0)\n'
' │\n' ' │\n'
' └─child: RenderRepaintBoundary#00000\n' ' └─child: RenderRepaintBoundary#00000\n'
' │ needs compositing\n'
' │ parentData: <none> (can use size)\n' ' │ parentData: <none> (can use size)\n'
' │ constraints: BoxConstraints(w=800.0, h=600.0)\n' ' │ constraints: BoxConstraints(w=800.0, h=600.0)\n'
' │ layer: OffsetLayer#00000\n' ' │ layer: OffsetLayer#00000\n'
...@@ -250,6 +253,7 @@ void main() { ...@@ -250,6 +253,7 @@ void main() {
' │ gestures: vertical scroll\n' ' │ gestures: vertical scroll\n'
' │\n' ' │\n'
' └─child: RenderPointerListener#00000\n' ' └─child: RenderPointerListener#00000\n'
' │ needs compositing\n'
' │ parentData: <none> (can use size)\n' ' │ parentData: <none> (can use size)\n'
' │ constraints: BoxConstraints(w=800.0, h=600.0)\n' ' │ constraints: BoxConstraints(w=800.0, h=600.0)\n'
' │ size: Size(800.0, 600.0)\n' ' │ size: Size(800.0, 600.0)\n'
...@@ -257,11 +261,13 @@ void main() { ...@@ -257,11 +261,13 @@ void main() {
' │ listeners: down\n' ' │ listeners: down\n'
' │\n' ' │\n'
' └─child: RenderSemanticsAnnotations#00000\n' ' └─child: RenderSemanticsAnnotations#00000\n'
' │ needs compositing\n'
' │ parentData: <none> (can use size)\n' ' │ parentData: <none> (can use size)\n'
' │ constraints: BoxConstraints(w=800.0, h=600.0)\n' ' │ constraints: BoxConstraints(w=800.0, h=600.0)\n'
' │ size: Size(800.0, 600.0)\n' ' │ size: Size(800.0, 600.0)\n'
' │\n' ' │\n'
' └─child: RenderIgnorePointer#00000\n' ' └─child: RenderIgnorePointer#00000\n'
' │ needs compositing\n'
' │ parentData: <none> (can use size)\n' ' │ parentData: <none> (can use size)\n'
' │ constraints: BoxConstraints(w=800.0, h=600.0)\n' ' │ constraints: BoxConstraints(w=800.0, h=600.0)\n'
' │ size: Size(800.0, 600.0)\n' ' │ size: Size(800.0, 600.0)\n'
...@@ -269,6 +275,7 @@ void main() { ...@@ -269,6 +275,7 @@ void main() {
' │ ignoringSemantics: false\n' ' │ ignoringSemantics: false\n'
' │\n' ' │\n'
' └─child: RenderViewport#00000\n' ' └─child: RenderViewport#00000\n'
' │ needs compositing\n'
' │ parentData: <none> (can use size)\n' ' │ parentData: <none> (can use size)\n'
' │ constraints: BoxConstraints(w=800.0, h=600.0)\n' ' │ constraints: BoxConstraints(w=800.0, h=600.0)\n'
' │ layer: OffsetLayer#00000\n' ' │ layer: OffsetLayer#00000\n'
...@@ -344,6 +351,7 @@ void main() { ...@@ -344,6 +351,7 @@ void main() {
' │ configuration: Size(800.0, 600.0) at 3.0x (in logical pixels)\n' ' │ configuration: Size(800.0, 600.0) at 3.0x (in logical pixels)\n'
' │\n' ' │\n'
' └─child: RenderRepaintBoundary#00000\n' ' └─child: RenderRepaintBoundary#00000\n'
' │ needs compositing\n'
' │ parentData: <none>\n' ' │ parentData: <none>\n'
' │ constraints: BoxConstraints(w=800.0, h=600.0)\n' ' │ constraints: BoxConstraints(w=800.0, h=600.0)\n'
' │ layer: OffsetLayer#00000\n' ' │ layer: OffsetLayer#00000\n'
...@@ -353,11 +361,13 @@ void main() { ...@@ -353,11 +361,13 @@ void main() {
' │ repaints)\n' ' │ repaints)\n'
' │\n' ' │\n'
' └─child: RenderCustomPaint#00000\n' ' └─child: RenderCustomPaint#00000\n'
' │ needs compositing\n'
' │ parentData: <none> (can use size)\n' ' │ parentData: <none> (can use size)\n'
' │ constraints: BoxConstraints(w=800.0, h=600.0)\n' ' │ constraints: BoxConstraints(w=800.0, h=600.0)\n'
' │ size: Size(800.0, 600.0)\n' ' │ size: Size(800.0, 600.0)\n'
' │\n' ' │\n'
' └─child: RenderRepaintBoundary#00000\n' ' └─child: RenderRepaintBoundary#00000\n'
' │ needs compositing\n'
' │ parentData: <none> (can use size)\n' ' │ parentData: <none> (can use size)\n'
' │ constraints: BoxConstraints(w=800.0, h=600.0)\n' ' │ constraints: BoxConstraints(w=800.0, h=600.0)\n'
' │ layer: OffsetLayer#00000\n' ' │ layer: OffsetLayer#00000\n'
...@@ -386,6 +396,7 @@ void main() { ...@@ -386,6 +396,7 @@ void main() {
' │ gestures: vertical scroll\n' ' │ gestures: vertical scroll\n'
' │\n' ' │\n'
' └─child: RenderPointerListener#00000\n' ' └─child: RenderPointerListener#00000\n'
' │ needs compositing\n'
' │ parentData: <none> (can use size)\n' ' │ parentData: <none> (can use size)\n'
' │ constraints: BoxConstraints(w=800.0, h=600.0)\n' ' │ constraints: BoxConstraints(w=800.0, h=600.0)\n'
' │ size: Size(800.0, 600.0)\n' ' │ size: Size(800.0, 600.0)\n'
...@@ -393,11 +404,13 @@ void main() { ...@@ -393,11 +404,13 @@ void main() {
' │ listeners: down\n' ' │ listeners: down\n'
' │\n' ' │\n'
' └─child: RenderSemanticsAnnotations#00000\n' ' └─child: RenderSemanticsAnnotations#00000\n'
' │ needs compositing\n'
' │ parentData: <none> (can use size)\n' ' │ parentData: <none> (can use size)\n'
' │ constraints: BoxConstraints(w=800.0, h=600.0)\n' ' │ constraints: BoxConstraints(w=800.0, h=600.0)\n'
' │ size: Size(800.0, 600.0)\n' ' │ size: Size(800.0, 600.0)\n'
' │\n' ' │\n'
' └─child: RenderIgnorePointer#00000\n' ' └─child: RenderIgnorePointer#00000\n'
' │ needs compositing\n'
' │ parentData: <none> (can use size)\n' ' │ parentData: <none> (can use size)\n'
' │ constraints: BoxConstraints(w=800.0, h=600.0)\n' ' │ constraints: BoxConstraints(w=800.0, h=600.0)\n'
' │ size: Size(800.0, 600.0)\n' ' │ size: Size(800.0, 600.0)\n'
...@@ -405,6 +418,7 @@ void main() { ...@@ -405,6 +418,7 @@ void main() {
' │ ignoringSemantics: false\n' ' │ ignoringSemantics: false\n'
' │\n' ' │\n'
' └─child: RenderViewport#00000\n' ' └─child: RenderViewport#00000\n'
' │ needs compositing\n'
' │ parentData: <none> (can use size)\n' ' │ parentData: <none> (can use size)\n'
' │ constraints: BoxConstraints(w=800.0, h=600.0)\n' ' │ constraints: BoxConstraints(w=800.0, h=600.0)\n'
' │ layer: OffsetLayer#00000\n' ' │ layer: OffsetLayer#00000\n'
......
...@@ -330,6 +330,7 @@ void main() { ...@@ -330,6 +330,7 @@ void main() {
list.toStringDeep(minLevel: DiagnosticLevel.info), list.toStringDeep(minLevel: DiagnosticLevel.info),
equalsIgnoringHashCodes( equalsIgnoringHashCodes(
'RenderSliverList#00000 relayoutBoundary=up1\n' 'RenderSliverList#00000 relayoutBoundary=up1\n'
' │ needs compositing\n'
' │ parentData: paintOffset=Offset(0.0, 0.0) (can use size)\n' ' │ parentData: paintOffset=Offset(0.0, 0.0) (can use size)\n'
' │ constraints: SliverConstraints(AxisDirection.down,\n' ' │ constraints: SliverConstraints(AxisDirection.down,\n'
' │ GrowthDirection.forward, ScrollDirection.idle, scrollOffset:\n' ' │ GrowthDirection.forward, ScrollDirection.idle, scrollOffset:\n'
...@@ -342,6 +343,7 @@ void main() { ...@@ -342,6 +343,7 @@ void main() {
' │ currently live children: 0 to 2\n' ' │ currently live children: 0 to 2\n'
' │\n' ' │\n'
' ├─child with index 0: RenderRepaintBoundary#00000 relayoutBoundary=up2\n' ' ├─child with index 0: RenderRepaintBoundary#00000 relayoutBoundary=up2\n'
' │ │ needs compositing\n'
' │ │ parentData: index=0; layoutOffset=0.0 (can use size)\n' ' │ │ parentData: index=0; layoutOffset=0.0 (can use size)\n'
' │ │ constraints: BoxConstraints(w=800.0, 0.0<=h<=Infinity)\n' ' │ │ constraints: BoxConstraints(w=800.0, 0.0<=h<=Infinity)\n'
' │ │ layer: OffsetLayer#00000\n' ' │ │ layer: OffsetLayer#00000\n'
...@@ -370,6 +372,7 @@ void main() { ...@@ -370,6 +372,7 @@ void main() {
' │ additionalConstraints: BoxConstraints(biggest)\n' ' │ additionalConstraints: BoxConstraints(biggest)\n'
' │\n' ' │\n'
' ├─child with index 1: RenderRepaintBoundary#00000 relayoutBoundary=up2\n' ' ├─child with index 1: RenderRepaintBoundary#00000 relayoutBoundary=up2\n'
' │ │ needs compositing\n'
' │ │ parentData: index=1; layoutOffset=100.0 (can use size)\n' ' │ │ parentData: index=1; layoutOffset=100.0 (can use size)\n'
' │ │ constraints: BoxConstraints(w=800.0, 0.0<=h<=Infinity)\n' ' │ │ constraints: BoxConstraints(w=800.0, 0.0<=h<=Infinity)\n'
' │ │ layer: OffsetLayer#00000\n' ' │ │ layer: OffsetLayer#00000\n'
...@@ -398,6 +401,7 @@ void main() { ...@@ -398,6 +401,7 @@ void main() {
' │ additionalConstraints: BoxConstraints(biggest)\n' ' │ additionalConstraints: BoxConstraints(biggest)\n'
' │\n' ' │\n'
' └─child with index 2: RenderRepaintBoundary#00000 relayoutBoundary=up2\n' ' └─child with index 2: RenderRepaintBoundary#00000 relayoutBoundary=up2\n'
' │ needs compositing\n'
' │ parentData: index=2; layoutOffset=200.0 (can use size)\n' ' │ parentData: index=2; layoutOffset=200.0 (can use size)\n'
' │ constraints: BoxConstraints(w=800.0, 0.0<=h<=Infinity)\n' ' │ constraints: BoxConstraints(w=800.0, 0.0<=h<=Infinity)\n'
' │ layer: OffsetLayer#00000\n' ' │ layer: OffsetLayer#00000\n'
......
...@@ -65,6 +65,7 @@ void main() { ...@@ -65,6 +65,7 @@ void main() {
viewport.toStringDeep(minLevel: DiagnosticLevel.info), viewport.toStringDeep(minLevel: DiagnosticLevel.info),
equalsIgnoringHashCodes( equalsIgnoringHashCodes(
'RenderSliverFillViewport#00000 relayoutBoundary=up1\n' 'RenderSliverFillViewport#00000 relayoutBoundary=up1\n'
' │ needs compositing\n'
' │ parentData: paintOffset=Offset(0.0, 0.0) (can use size)\n' ' │ parentData: paintOffset=Offset(0.0, 0.0) (can use size)\n'
' │ constraints: SliverConstraints(AxisDirection.down,\n' ' │ constraints: SliverConstraints(AxisDirection.down,\n'
' │ GrowthDirection.forward, ScrollDirection.idle, scrollOffset:\n' ' │ GrowthDirection.forward, ScrollDirection.idle, scrollOffset:\n'
...@@ -78,6 +79,7 @@ void main() { ...@@ -78,6 +79,7 @@ void main() {
' │ currently live children: 0 to 1\n' ' │ currently live children: 0 to 1\n'
' │\n' ' │\n'
' ├─child with index 0: RenderRepaintBoundary#00000\n' ' ├─child with index 0: RenderRepaintBoundary#00000\n'
' │ │ needs compositing\n'
' │ │ parentData: index=0; layoutOffset=0.0\n' ' │ │ parentData: index=0; layoutOffset=0.0\n'
' │ │ constraints: BoxConstraints(w=800.0, h=600.0)\n' ' │ │ constraints: BoxConstraints(w=800.0, h=600.0)\n'
' │ │ layer: OffsetLayer#00000\n' ' │ │ layer: OffsetLayer#00000\n'
...@@ -101,6 +103,7 @@ void main() { ...@@ -101,6 +103,7 @@ void main() {
' │ ║ "0"\n' ' │ ║ "0"\n'
' │ ╚═══════════\n' ' │ ╚═══════════\n'
' └─child with index 1: RenderRepaintBoundary#00000\n' ' └─child with index 1: RenderRepaintBoundary#00000\n'
' │ needs compositing\n'
' │ parentData: index=1; layoutOffset=600.0\n' ' │ parentData: index=1; layoutOffset=600.0\n'
' │ constraints: BoxConstraints(w=800.0, h=600.0)\n' ' │ constraints: BoxConstraints(w=800.0, h=600.0)\n'
' │ layer: OffsetLayer#00000 DETACHED\n' ' │ layer: OffsetLayer#00000 DETACHED\n'
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment