fix "TREE INCONSISTENT" noise in compositing_test.dart (#16995)

This commit is contained in:
Yegor 2020-03-09 16:26:18 -07:00 committed by GitHub
parent cb3237e255
commit 4f4fdbf21f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 15 additions and 3 deletions

View File

@ -356,6 +356,11 @@ abstract class PersistedPicture extends PersistedLeafSurface {
EngineCanvas _canvas;
/// Returns the canvas used by this picture layer.
///
/// Useful for tests.
EngineCanvas get debugCanvas => _canvas;
final double dx;
final double dy;
final EnginePicture picture;
@ -624,7 +629,7 @@ abstract class PersistedPicture extends PersistedLeafSurface {
super.debugValidate(validationErrors);
if (picture.recordingCanvas.didDraw) {
if (_canvas == null) {
if (debugCanvas == null) {
validationErrors
.add('$runtimeType has non-trivial picture but it has null canvas');
}

View File

@ -151,7 +151,7 @@ void main() {
scene2.preroll();
scene2.update(scene1);
commitScene(scene1);
commitScene(scene2);
expect(picture.retainCount, 1);
expect(picture.buildCount, 1);
expect(picture.updateCount, 0);
@ -169,7 +169,7 @@ void main() {
scene3.preroll();
scene3.update(scene2);
commitScene(scene1);
commitScene(scene3);
expect(picture.retainCount, 2);
expect(picture.buildCount, 1);
expect(picture.updateCount, 0);
@ -271,6 +271,13 @@ class MockPersistedPicture extends PersistedPicture {
int updateCount = 0;
int applyPaintCount = 0;
final BitmapCanvas _fakeCanvas = BitmapCanvas(const Rect.fromLTRB(0, 0, 10, 10));
@override
EngineCanvas get debugCanvas {
return _fakeCanvas;
}
@override
double matchForUpdate(PersistedPicture existingSurface) {
return identical(existingSurface.picture, picture) ? 0.0 : 1.0;