[CodeHealth] Use std::array in DecomposedTransform
Convert T[N]->std::array<T, N>. This will allow removing more
`allow_unsafe_buffer` pragmas in files that consume decomposed_transform
as well as matching it to the new recommended guidance from:
https://chromium.googlesource.com/chromium/src/+/main/docs/unsafe_buffers.md#use-of-std_array
Bug: 351564777
Change-Id: Id37b986cfb1f3b2f4ba565e317530cf780f1db24
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6148932
Reviewed-by: Ian Vollick <[email protected]>
Commit-Queue: Alexander Cooper <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1402606}
diff --git a/ui/gfx/geometry/decomposed_transform.h b/ui/gfx/geometry/decomposed_transform.h
index e93a5dc..d134ad5 100644
--- a/ui/gfx/geometry/decomposed_transform.h
+++ b/ui/gfx/geometry/decomposed_transform.h
@@ -5,6 +5,8 @@
#ifndef UI_GFX_GEOMETRY_DECOMPOSED_TRANSFORM_H_
#define UI_GFX_GEOMETRY_DECOMPOSED_TRANSFORM_H_
+#include <array>
+
#include "base/component_export.h"
#include "base/dcheck_is_on.h"
#include "ui/gfx/geometry/quaternion.h"
@@ -16,10 +18,10 @@
struct COMPONENT_EXPORT(GEOMETRY) DecomposedTransform {
// The default constructor initializes the components in such a way that
// will compose the identity transform.
- double translate[3] = {0, 0, 0};
- double scale[3] = {1, 1, 1};
- double skew[3] = {0, 0, 0};
- double perspective[4] = {0, 0, 0, 1};
+ std::array<double, 3u> translate = {0, 0, 0};
+ std::array<double, 3u> scale = {1, 1, 1};
+ std::array<double, 3u> skew = {0, 0, 0};
+ std::array<double, 4u> perspective = {0, 0, 0, 1};
Quaternion quaternion;
std::string ToString() const;