[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) {