[fuchsia] Remove strict equality check for SkMatrix comparison for Fl… (#43421) …… (#43309) Flatland version of https://github.com/flutter/engine/commit/a4775c7a7bc3dfa158ce83b62f8d89394ec65c15 Bug: fxb/126648
diff --git a/shell/platform/fuchsia/flutter/flatland_external_view_embedder.cc b/shell/platform/fuchsia/flutter/flatland_external_view_embedder.cc index 901bd8c..609d754 100644 --- a/shell/platform/fuchsia/flutter/flatland_external_view_embedder.cc +++ b/shell/platform/fuchsia/flutter/flatland_external_view_embedder.cc
@@ -234,8 +234,26 @@ const ViewMutators view_mutators = ParseMutatorStack(view_params.mutatorsStack()); const SkSize view_size = view_params.sizePoints(); - FML_CHECK(view_mutators.total_transform == - view_params.transformMatrix()); + + // Verify that we're unpacking the mutators' transform matrix correctly. + // Use built-in get method for SkMatrix to get values, see: + // https://source.corp.google.com/piper///depot/google3/third_party/skia/HEAD/include/core/SkMatrix.h;l=391 + for (int index = 0; index < 9; index++) { + const SkScalar mutators_transform_value = + view_mutators.total_transform.get(index); + const SkScalar params_transform_value = + view_params.transformMatrix().get(index); + if (!SkScalarNearlyEqual(mutators_transform_value, + params_transform_value, 0.0005f)) { + FML_LOG(ERROR) + << "Assertion failed: view_mutators.total_transform[" << index + << "] (" << mutators_transform_value + << ") != view_params.transformMatrix()[" << index << "] (" + << params_transform_value + << "). This likely means there is a bug with the " + << "logic for parsing embedded views' transform matrices."; + } + } if (viewport.pending_create_viewport_callback) { if (view_size.fWidth && view_size.fHeight) {