Replace remaining FX_ArraySize() usage with pdfium::size().
Similar to how Chromium replaced arraysize() with base::size() in
https://crrev.com/621760. Remove FX_ArraySize().
Change-Id: Id9d2b9cdd2a13c87f808fa4f4d0658561df731f1
Bug: 1435
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/69572
Commit-Queue: Lei Zhang <thestig@google.com>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
diff --git a/core/fdrm/fx_crypt_unittest.cpp b/core/fdrm/fx_crypt_unittest.cpp
index 8b6fd7d..808071a 100644
--- a/core/fdrm/fx_crypt_unittest.cpp
+++ b/core/fdrm/fx_crypt_unittest.cpp
@@ -9,9 +9,9 @@
#include <string>
#include <vector>
-#include "core/fxcrt/fx_memory.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "testing/utils/hash.h"
+#include "third_party/base/stl_util.h"
namespace {
@@ -201,7 +201,7 @@
CRYPT_SHA1Generate(reinterpret_cast<const uint8_t*>(kInput), strlen(kInput),
actual);
- for (size_t i = 0; i < FX_ArraySize(kExpected); i++)
+ for (size_t i = 0; i < pdfium::size(kExpected); i++)
EXPECT_EQ(kExpected[i], actual[i]) << " at byte " << i;
}
@@ -216,7 +216,7 @@
CRYPT_SHA1Generate(reinterpret_cast<const uint8_t*>(kInput), strlen(kInput),
actual);
- for (size_t i = 0; i < FX_ArraySize(kExpected); i++)
+ for (size_t i = 0; i < pdfium::size(kExpected); i++)
EXPECT_EQ(kExpected[i], actual[i]) << " at byte " << i;
}
@@ -232,7 +232,7 @@
CRYPT_SHA1Generate(reinterpret_cast<const uint8_t*>(kInput), strlen(kInput),
actual);
- for (size_t i = 0; i < FX_ArraySize(kExpected); i++)
+ for (size_t i = 0; i < pdfium::size(kExpected); i++)
EXPECT_EQ(kExpected[i], actual[i]) << " at byte " << i;
}
@@ -245,7 +245,7 @@
uint8_t actual[32];
CRYPT_SHA256Generate(reinterpret_cast<const uint8_t*>(kInput), strlen(kInput),
actual);
- for (size_t i = 0; i < FX_ArraySize(kExpected); ++i)
+ for (size_t i = 0; i < pdfium::size(kExpected); ++i)
EXPECT_EQ(kExpected[i], actual[i]) << " at byte " << i;
}
@@ -259,7 +259,7 @@
uint8_t actual[32];
CRYPT_SHA256Generate(reinterpret_cast<const uint8_t*>(kInput), strlen(kInput),
actual);
- for (size_t i = 0; i < FX_ArraySize(kExpected); ++i)
+ for (size_t i = 0; i < pdfium::size(kExpected); ++i)
EXPECT_EQ(kExpected[i], actual[i]) << " at byte " << i;
}
@@ -274,7 +274,7 @@
uint8_t actual[32];
CRYPT_SHA256Generate(reinterpret_cast<const uint8_t*>(kInput), strlen(kInput),
actual);
- for (size_t i = 0; i < FX_ArraySize(kExpected); ++i)
+ for (size_t i = 0; i < pdfium::size(kExpected); ++i)
EXPECT_EQ(kExpected[i], actual[i]) << " at byte " << i;
}
@@ -327,7 +327,7 @@
29, 45, 14, 111};
CRYPT_rc4_context context;
static const uint8_t kFooBar[] = "foobar";
- CRYPT_ArcFourSetup(&context, {kFooBar, FX_ArraySize(kFooBar) - 1});
+ CRYPT_ArcFourSetup(&context, {kFooBar, pdfium::size(kFooBar) - 1});
CheckArcFourContext(context, 0, 0, kFoobarPermutation);
}
}
@@ -345,18 +345,18 @@
CRYPT_rc4_context context;
CRYPT_ArcFourSetup(&context, {});
- uint8_t data_short[FX_ArraySize(kDataShort)];
- memcpy(data_short, kDataShort, FX_ArraySize(kDataShort));
+ uint8_t data_short[pdfium::size(kDataShort)];
+ memcpy(data_short, kDataShort, pdfium::size(kDataShort));
static const uint8_t kExpectedEncryptedDataShort[] = {
138, 112, 236, 97, 242, 66, 52, 89, 225, 38, 88, 8,
47, 78, 216, 24, 170, 106, 26, 199, 208, 131, 157, 242,
55, 11, 25, 90, 66, 182, 19, 255, 210, 181, 85, 69,
31, 240, 206, 171, 97, 62, 202, 172, 30, 252};
static_assert(
- FX_ArraySize(kExpectedEncryptedDataShort) == FX_ArraySize(data_short),
+ pdfium::size(kExpectedEncryptedDataShort) == pdfium::size(data_short),
"data_short mismatch");
CRYPT_ArcFourCrypt(&context, data_short);
- for (size_t i = 0; i < FX_ArraySize(data_short); ++i)
+ for (size_t i = 0; i < pdfium::size(data_short); ++i)
EXPECT_EQ(kExpectedEncryptedDataShort[i], data_short[i]) << i;
static const uint8_t kPermutation[kRC4ContextPermutationLength] = {
@@ -385,8 +385,8 @@
CRYPT_rc4_context context;
CRYPT_ArcFourSetup(&context, {});
- uint8_t data_long[FX_ArraySize(kDataLong)];
- memcpy(data_long, kDataLong, FX_ArraySize(kDataLong));
+ uint8_t data_long[pdfium::size(kDataLong)];
+ memcpy(data_long, kDataLong, pdfium::size(kDataLong));
static const uint8_t kExpectedEncryptedDataLong[] = {
138, 112, 236, 97, 242, 66, 52, 89, 225, 38, 88, 8, 47, 78,
216, 24, 170, 106, 26, 199, 208, 131, 157, 242, 55, 11, 25, 90,
@@ -409,11 +409,11 @@
202, 170, 224, 89, 28, 5, 138, 19, 253, 105, 220, 105, 24, 187,
109, 89, 205, 89, 202};
static_assert(
- FX_ArraySize(kExpectedEncryptedDataLong) == FX_ArraySize(data_long),
+ pdfium::size(kExpectedEncryptedDataLong) == pdfium::size(data_long),
"data_long mismatch");
- static_assert(FX_ArraySize(data_long) > 256, "too short");
+ static_assert(pdfium::size(data_long) > 256, "too short");
CRYPT_ArcFourCrypt(&context, data_long);
- for (size_t i = 0; i < FX_ArraySize(data_long); ++i)
+ for (size_t i = 0; i < pdfium::size(data_long); ++i)
EXPECT_EQ(kExpectedEncryptedDataLong[i], data_long[i]) << i;
static const uint8_t kPermutation[kRC4ContextPermutationLength] = {
@@ -441,20 +441,20 @@
{
CRYPT_rc4_context context;
static const uint8_t kFooBar[] = "foobar";
- CRYPT_ArcFourSetup(&context, {kFooBar, FX_ArraySize(kFooBar) - 1});
+ CRYPT_ArcFourSetup(&context, {kFooBar, pdfium::size(kFooBar) - 1});
- uint8_t data_short[FX_ArraySize(kDataShort)];
- memcpy(data_short, kDataShort, FX_ArraySize(kDataShort));
+ uint8_t data_short[pdfium::size(kDataShort)];
+ memcpy(data_short, kDataShort, pdfium::size(kDataShort));
static const uint8_t kExpectedEncryptedDataShort[] = {
59, 193, 117, 206, 167, 54, 218, 7, 229, 214, 188, 55,
90, 205, 196, 25, 36, 114, 199, 218, 161, 107, 122, 119,
106, 167, 44, 175, 240, 123, 192, 102, 174, 167, 105, 187,
202, 70, 121, 81, 17, 30, 5, 138, 116, 166};
static_assert(
- FX_ArraySize(kExpectedEncryptedDataShort) == FX_ArraySize(data_short),
+ pdfium::size(kExpectedEncryptedDataShort) == pdfium::size(data_short),
"data_short mismatch");
CRYPT_ArcFourCrypt(&context, data_short);
- for (size_t i = 0; i < FX_ArraySize(data_short); ++i)
+ for (size_t i = 0; i < pdfium::size(data_short); ++i)
EXPECT_EQ(kExpectedEncryptedDataShort[i], data_short[i]) << i;
static const uint8_t kPermutation[kRC4ContextPermutationLength] = {
@@ -482,10 +482,10 @@
{
CRYPT_rc4_context context;
static const uint8_t kFooBar[] = "foobar";
- CRYPT_ArcFourSetup(&context, {kFooBar, FX_ArraySize(kFooBar) - 1});
+ CRYPT_ArcFourSetup(&context, {kFooBar, pdfium::size(kFooBar) - 1});
- uint8_t data_long[FX_ArraySize(kDataLong)];
- memcpy(data_long, kDataLong, FX_ArraySize(kDataLong));
+ uint8_t data_long[pdfium::size(kDataLong)];
+ memcpy(data_long, kDataLong, pdfium::size(kDataLong));
static const uint8_t kExpectedEncryptedDataLong[] = {
59, 193, 117, 206, 167, 54, 218, 7, 229, 214, 188, 55, 90, 205,
196, 25, 36, 114, 199, 218, 161, 107, 122, 119, 106, 167, 44, 175,
@@ -508,11 +508,11 @@
243, 73, 206, 89, 9, 93, 156, 167, 205, 166, 75, 227, 36, 34,
81, 124, 195, 246, 152};
static_assert(
- FX_ArraySize(kExpectedEncryptedDataLong) == FX_ArraySize(data_long),
+ pdfium::size(kExpectedEncryptedDataLong) == pdfium::size(data_long),
"data_long mismatch");
- static_assert(FX_ArraySize(data_long) > 256, "too short");
+ static_assert(pdfium::size(data_long) > 256, "too short");
CRYPT_ArcFourCrypt(&context, data_long);
- for (size_t i = 0; i < FX_ArraySize(data_long); ++i)
+ for (size_t i = 0; i < pdfium::size(data_long); ++i)
EXPECT_EQ(kExpectedEncryptedDataLong[i], data_long[i]) << i;
static const uint8_t kPermutation[kRC4ContextPermutationLength] = {
@@ -549,7 +549,7 @@
uint8_t actual[48];
CRYPT_SHA384Generate(reinterpret_cast<const uint8_t*>(kInput), strlen(kInput),
actual);
- for (size_t i = 0; i < FX_ArraySize(kExpected); ++i)
+ for (size_t i = 0; i < pdfium::size(kExpected); ++i)
EXPECT_EQ(kExpected[i], actual[i]) << " at byte " << i;
}
@@ -565,7 +565,7 @@
uint8_t actual[48];
CRYPT_SHA384Generate(reinterpret_cast<const uint8_t*>(kInput), strlen(kInput),
actual);
- for (size_t i = 0; i < FX_ArraySize(kExpected); ++i)
+ for (size_t i = 0; i < pdfium::size(kExpected); ++i)
EXPECT_EQ(kExpected[i], actual[i]) << " at byte " << i;
}
@@ -583,7 +583,7 @@
EXPECT_EQ(112u, strlen(kInput));
CRYPT_SHA384Generate(reinterpret_cast<const uint8_t*>(kInput), strlen(kInput),
actual);
- for (size_t i = 0; i < FX_ArraySize(kExpected); ++i)
+ for (size_t i = 0; i < pdfium::size(kExpected); ++i)
EXPECT_EQ(kExpected[i], actual[i]) << " at byte " << i;
}
@@ -599,7 +599,7 @@
uint8_t actual[64];
CRYPT_SHA512Generate(reinterpret_cast<const uint8_t*>(kInput), strlen(kInput),
actual);
- for (size_t i = 0; i < FX_ArraySize(kExpected); ++i)
+ for (size_t i = 0; i < pdfium::size(kExpected); ++i)
EXPECT_EQ(kExpected[i], actual[i]) << " at byte " << i;
}
@@ -617,7 +617,7 @@
uint8_t actual[64];
CRYPT_SHA512Generate(reinterpret_cast<const uint8_t*>(kInput), strlen(kInput),
actual);
- for (size_t i = 0; i < FX_ArraySize(kExpected); ++i)
+ for (size_t i = 0; i < pdfium::size(kExpected); ++i)
EXPECT_EQ(kExpected[i], actual[i]) << " at byte " << i;
}
@@ -637,6 +637,6 @@
EXPECT_EQ(112u, strlen(kInput));
CRYPT_SHA512Generate(reinterpret_cast<const uint8_t*>(kInput), strlen(kInput),
actual);
- for (size_t i = 0; i < FX_ArraySize(kExpected); ++i)
+ for (size_t i = 0; i < pdfium::size(kExpected); ++i)
EXPECT_EQ(kExpected[i], actual[i]) << " at byte " << i;
}
diff --git a/core/fpdfdoc/cpdf_aaction.cpp b/core/fpdfdoc/cpdf_aaction.cpp
index 46fe173..e0ae9e9 100644
--- a/core/fpdfdoc/cpdf_aaction.cpp
+++ b/core/fpdfdoc/cpdf_aaction.cpp
@@ -7,7 +7,7 @@
#include "core/fpdfdoc/cpdf_aaction.h"
#include "core/fpdfapi/parser/cpdf_dictionary.h"
-#include "core/fxcrt/fx_memory.h"
+#include "third_party/base/stl_util.h"
namespace {
@@ -37,7 +37,7 @@
// |kAATypes| should have one less element than enum AActionType due to
// |kDocumentOpen|, which is an artificial type.
-static_assert(FX_ArraySize(kAATypes) == CPDF_AAction::kNumberOfActions - 1,
+static_assert(pdfium::size(kAATypes) == CPDF_AAction::kNumberOfActions - 1,
"kAATypes count mismatch");
} // namespace
diff --git a/core/fpdfdoc/cpdf_defaultappearance_unittest.cpp b/core/fpdfdoc/cpdf_defaultappearance_unittest.cpp
index 252d37e..58c3e6d 100644
--- a/core/fpdfdoc/cpdf_defaultappearance_unittest.cpp
+++ b/core/fpdfdoc/cpdf_defaultappearance_unittest.cpp
@@ -4,10 +4,10 @@
#include "core/fpdfdoc/cpdf_defaultappearance.h"
-#include "core/fxcrt/fx_memory.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "testing/test_support.h"
#include "third_party/base/span.h"
+#include "third_party/base/stl_util.h"
TEST(CPDFDefaultAppearanceTest, FindTagParamFromStart) {
static const struct FindTagTestStruct {
@@ -37,7 +37,7 @@
};
CPDF_DefaultAppearance da;
- for (size_t i = 0; i < FX_ArraySize(test_data); ++i) {
+ for (size_t i = 0; i < pdfium::size(test_data); ++i) {
CPDF_SimpleParser parser(
pdfium::make_span(test_data[i].input, test_data[i].input_size));
EXPECT_EQ(test_data[i].result,
diff --git a/core/fpdfdoc/cpdf_dest.cpp b/core/fpdfdoc/cpdf_dest.cpp
index f0c3592..3740723 100644
--- a/core/fpdfdoc/cpdf_dest.cpp
+++ b/core/fpdfdoc/cpdf_dest.cpp
@@ -13,7 +13,7 @@
#include "core/fpdfapi/parser/cpdf_name.h"
#include "core/fpdfapi/parser/cpdf_number.h"
#include "core/fpdfdoc/cpdf_nametree.h"
-#include "core/fxcrt/fx_memory.h"
+#include "third_party/base/stl_util.h"
namespace {
@@ -26,8 +26,8 @@
const uint8_t g_sZoomModeMaxParamCount[] = {0, 3, 0, 1, 1, 4, 0, 1, 1, 0};
-static_assert(FX_ArraySize(g_sZoomModes) ==
- FX_ArraySize(g_sZoomModeMaxParamCount),
+static_assert(pdfium::size(g_sZoomModes) ==
+ pdfium::size(g_sZoomModeMaxParamCount),
"Zoom mode count Mismatch");
} // namespace
diff --git a/core/fpdfdoc/cpdf_filespec.cpp b/core/fpdfdoc/cpdf_filespec.cpp
index 506e176..5e52f3e 100644
--- a/core/fpdfdoc/cpdf_filespec.cpp
+++ b/core/fpdfdoc/cpdf_filespec.cpp
@@ -17,6 +17,7 @@
#include "core/fpdfapi/parser/cpdf_string.h"
#include "core/fpdfapi/parser/fpdf_parser_decode.h"
#include "core/fxcrt/fx_system.h"
+#include "third_party/base/stl_util.h"
namespace {
@@ -139,7 +140,7 @@
// List of keys to check for the file specification string.
// Follows the same precedence order as GetFileName().
static constexpr const char* kKeys[] = {"UF", "F", "DOS", "Mac", "Unix"};
- size_t end = pDict->GetStringFor("FS") == "URL" ? 2 : FX_ArraySize(kKeys);
+ size_t end = pDict->GetStringFor("FS") == "URL" ? 2 : pdfium::size(kKeys);
for (size_t i = 0; i < end; ++i) {
ByteString key = kKeys[i];
if (!pDict->GetUnicodeTextFor(key).IsEmpty()) {
diff --git a/core/fpdfdoc/cpdf_filespec_unittest.cpp b/core/fpdfdoc/cpdf_filespec_unittest.cpp
index 389a521..83acbd5 100644
--- a/core/fpdfdoc/cpdf_filespec_unittest.cpp
+++ b/core/fpdfdoc/cpdf_filespec_unittest.cpp
@@ -16,6 +16,7 @@
#include "core/fxcrt/fx_memory_wrappers.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "testing/test_support.h"
+#include "third_party/base/stl_util.h"
TEST(cpdf_filespec, EncodeDecodeFileName) {
static const std::vector<pdfium::NullTermWstrFuncTestData> test_data = {
@@ -101,12 +102,12 @@
};
// Keyword fields in reverse order of precedence to retrieve the file name.
const char* const keywords[] = {"Unix", "Mac", "DOS", "F", "UF"};
- static_assert(FX_ArraySize(test_data) == FX_ArraySize(keywords),
+ static_assert(pdfium::size(test_data) == pdfium::size(keywords),
"size mismatch");
auto dict_obj = pdfium::MakeRetain<CPDF_Dictionary>();
CPDF_FileSpec file_spec(dict_obj.Get());
EXPECT_TRUE(file_spec.GetFileName().IsEmpty());
- for (size_t i = 0; i < FX_ArraySize(keywords); ++i) {
+ for (size_t i = 0; i < pdfium::size(keywords); ++i) {
dict_obj->SetNewFor<CPDF_String>(keywords[i], test_data[i].input);
EXPECT_STREQ(test_data[i].expected, file_spec.GetFileName().c_str());
}
@@ -197,12 +198,12 @@
const wchar_t file_name[] = L"test.pdf";
const char* const keys[] = {"Unix", "Mac", "DOS", "F", "UF"};
const char* const streams[] = {"test1", "test2", "test3", "test4", "test5"};
- static_assert(FX_ArraySize(keys) == FX_ArraySize(streams), "size mismatch");
+ static_assert(pdfium::size(keys) == pdfium::size(streams), "size mismatch");
CPDF_Dictionary* file_dict =
file_spec.GetObj()->AsDictionary()->GetDictFor("EF");
// Keys in reverse order of precedence to retrieve the file content stream.
- for (size_t i = 0; i < FX_ArraySize(keys); ++i) {
+ for (size_t i = 0; i < pdfium::size(keys); ++i) {
// Set the file name.
dict_obj->SetNewFor<CPDF_String>(keys[i], file_name);
diff --git a/core/fpdfdoc/cpdf_formcontrol.cpp b/core/fpdfdoc/cpdf_formcontrol.cpp
index db9e9ae..a4f4b3d 100644
--- a/core/fpdfdoc/cpdf_formcontrol.cpp
+++ b/core/fpdfdoc/cpdf_formcontrol.cpp
@@ -17,6 +17,7 @@
#include "core/fpdfapi/parser/fpdf_parser_decode.h"
#include "core/fpdfapi/parser/fpdf_parser_utility.h"
#include "core/fpdfdoc/cpdf_interactiveform.h"
+#include "third_party/base/stl_util.h"
namespace {
@@ -129,7 +130,7 @@
return Invert;
ByteString csH = m_pWidgetDict->GetStringFor("H", "I");
- for (size_t i = 0; i < FX_ArraySize(kHighlightModes); ++i) {
+ for (size_t i = 0; i < pdfium::size(kHighlightModes); ++i) {
if (csH == kHighlightModes[i])
return static_cast<HighlightingMode>(i);
}
diff --git a/core/fpdftext/cpdf_linkextract_unittest.cpp b/core/fpdftext/cpdf_linkextract_unittest.cpp
index 014bedb..316f039 100644
--- a/core/fpdftext/cpdf_linkextract_unittest.cpp
+++ b/core/fpdftext/cpdf_linkextract_unittest.cpp
@@ -4,8 +4,8 @@
#include "core/fpdftext/cpdf_linkextract.h"
-#include "core/fxcrt/fx_memory.h"
#include "testing/gtest/include/gtest/gtest.h"
+#include "third_party/base/stl_util.h"
// Class to help test functions in CPDF_LinkExtract class.
class CPDF_TestLinkExtract final : public CPDF_LinkExtract {
@@ -31,7 +31,7 @@
L"abc@.xyz.org", // Domain name should not start with '.'.
L"fan@g..com" // Domain name should not have consecutive '.'
};
- for (size_t i = 0; i < FX_ArraySize(invalid_strs); ++i) {
+ for (size_t i = 0; i < pdfium::size(invalid_strs); ++i) {
const wchar_t* const input = invalid_strs[i];
WideString text_str(input);
EXPECT_FALSE(extractor.CheckMailLink(&text_str)) << input;
@@ -52,7 +52,7 @@
{L"fan@g.com..", L"fan@g.com"}, // Trim the ending periods.
{L"CAP.cap@Gmail.Com", L"CAP.cap@Gmail.Com"}, // Keep the original case.
};
- for (size_t i = 0; i < FX_ArraySize(valid_strs); ++i) {
+ for (size_t i = 0; i < pdfium::size(valid_strs); ++i) {
const wchar_t* const input = valid_strs[i][0];
WideString text_str(input);
WideString expected_str(L"mailto:");
@@ -79,7 +79,7 @@
L"abc.example.com", // URL without scheme.
};
const int32_t DEFAULT_VALUE = -42;
- for (size_t i = 0; i < FX_ArraySize(invalid_cases); ++i) {
+ for (size_t i = 0; i < pdfium::size(invalid_cases); ++i) {
const wchar_t* const input = invalid_cases[i];
WideString text_str(input);
int32_t start_offset = DEFAULT_VALUE;
@@ -174,7 +174,7 @@
{L"www.测试。net。", L"http://www.测试。net。", 0, 11},
{L"www.测试.net;", L"http://www.测试.net;", 0, 11},
};
- for (size_t i = 0; i < FX_ArraySize(valid_cases); ++i) {
+ for (size_t i = 0; i < pdfium::size(valid_cases); ++i) {
const wchar_t* const input = valid_cases[i].input_string;
WideString text_str(input);
int32_t start_offset = DEFAULT_VALUE;
diff --git a/core/fxcodec/basic/a85_unittest.cpp b/core/fxcodec/basic/a85_unittest.cpp
index e01d3d2..109adda 100644
--- a/core/fxcodec/basic/a85_unittest.cpp
+++ b/core/fxcodec/basic/a85_unittest.cpp
@@ -10,6 +10,7 @@
#include "core/fxcodec/basic/basicmodule.h"
#include "core/fxcrt/fx_memory_wrappers.h"
#include "testing/gtest/include/gtest/gtest.h"
+#include "third_party/base/stl_util.h"
TEST(fxcodec, A85TestBadInputs) {
const uint8_t src_buf[] = {1, 2, 3, 4};
@@ -33,7 +34,7 @@
// Should have 5 chars for each set of 4 and 2 terminators.
const uint8_t expected_out[] = {33, 60, 78, 63, 43, 115,
56, 87, 45, 33, 126, 62};
- ASSERT_EQ(FX_ArraySize(expected_out), dest_size);
+ ASSERT_EQ(pdfium::size(expected_out), dest_size);
// Check the output
auto dest_buf_span = pdfium::make_span(dest_buf.get(), dest_size);
@@ -54,7 +55,7 @@
// 5 chars for first symbol + 2 + 2 terminators.
uint8_t expected_out_1leftover[] = {33, 60, 78, 63, 43, 114, 114, 126, 62};
- ASSERT_EQ(FX_ArraySize(expected_out_1leftover), dest_size);
+ ASSERT_EQ(pdfium::size(expected_out_1leftover), dest_size);
// Check the output
auto dest_buf_span = pdfium::make_span(dest_buf.get(), dest_size);
@@ -72,7 +73,7 @@
// 5 chars for first symbol + 3 + 2 terminators.
const uint8_t expected_out_2leftover[] = {33, 60, 78, 63, 43,
115, 56, 68, 126, 62};
- ASSERT_EQ(FX_ArraySize(expected_out_2leftover), dest_size);
+ ASSERT_EQ(pdfium::size(expected_out_2leftover), dest_size);
// Check the output
auto dest_buf_span = pdfium::make_span(dest_buf.get(), dest_size);
@@ -90,7 +91,7 @@
// 5 chars for first symbol + 4 + 2 terminators.
const uint8_t expected_out_3leftover[] = {33, 60, 78, 63, 43, 115,
56, 77, 114, 126, 62};
- ASSERT_EQ(FX_ArraySize(expected_out_3leftover), dest_size);
+ ASSERT_EQ(pdfium::size(expected_out_3leftover), dest_size);
// Check the output
auto dest_buf_span = pdfium::make_span(dest_buf.get(), dest_size);
@@ -111,7 +112,7 @@
// Should have 5 chars for first set of 4 + 1 for z + 2 terminators.
const uint8_t expected_out[] = {33, 60, 78, 63, 43, 122, 126, 62};
- ASSERT_EQ(FX_ArraySize(expected_out), dest_size);
+ ASSERT_EQ(pdfium::size(expected_out), dest_size);
// Check the output
auto dest_buf_span = pdfium::make_span(dest_buf.get(), dest_size);
@@ -128,7 +129,7 @@
// Should have 5 chars for set of 4 + 1 for z + 2 terminators.
const uint8_t expected_out_2[] = {122, 33, 60, 78, 63, 43, 126, 62};
- ASSERT_EQ(FX_ArraySize(expected_out_2), dest_size);
+ ASSERT_EQ(pdfium::size(expected_out_2), dest_size);
// Check the output
auto dest_buf_span = pdfium::make_span(dest_buf.get(), dest_size);
@@ -146,7 +147,7 @@
// Should have 5 chars for set of 4 + 3 for last 2 + 2 terminators.
const uint8_t expected_out_leftover[] = {33, 60, 78, 63, 43,
33, 33, 33, 126, 62};
- ASSERT_EQ(FX_ArraySize(expected_out_leftover), dest_size);
+ ASSERT_EQ(pdfium::size(expected_out_leftover), dest_size);
// Check the output
auto dest_buf_span = pdfium::make_span(dest_buf.get(), dest_size);
diff --git a/core/fxcodec/gif/cfx_gifcontext.cpp b/core/fxcodec/gif/cfx_gifcontext.cpp
index d78f47a..6fc16aa 100644
--- a/core/fxcodec/gif/cfx_gifcontext.cpp
+++ b/core/fxcodec/gif/cfx_gifcontext.cpp
@@ -298,7 +298,7 @@
if (gif_image->row_num >=
static_cast<int32_t>(gif_image->image_info.height)) {
img_pass_num_++;
- if (img_pass_num_ == FX_ArraySize(kGifInterlaceStep)) {
+ if (img_pass_num_ == pdfium::size(kGifInterlaceStep)) {
DecodingFailureAtTailCleanup(gif_image);
return CFX_GifDecodeStatus::Error;
}
diff --git a/core/fxcodec/gif/cfx_lzwdecompressor_unittest.cpp b/core/fxcodec/gif/cfx_lzwdecompressor_unittest.cpp
index 58cb086..ac824ac4 100644
--- a/core/fxcodec/gif/cfx_lzwdecompressor_unittest.cpp
+++ b/core/fxcodec/gif/cfx_lzwdecompressor_unittest.cpp
@@ -4,8 +4,8 @@
#include "core/fxcodec/gif/cfx_lzwdecompressor.h"
-#include "core/fxcrt/fx_memory.h"
#include "testing/gtest/include/gtest/gtest.h"
+#include "third_party/base/stl_util.h"
TEST(CFX_LZWDecompressor, CreateBadParams) {
EXPECT_EQ(nullptr, CFX_LZWDecompressor::Create(0x10, 0x02));
@@ -29,7 +29,7 @@
memset(dest_buf, static_cast<uint8_t>(-1), sizeof(dest_buf));
EXPECT_EQ(0u, decompressor->ExtractDataForTest(dest_buf, 0));
- for (size_t i = 0; i < FX_ArraySize(dest_buf); ++i)
+ for (size_t i = 0; i < pdfium::size(dest_buf); ++i)
EXPECT_EQ(static_cast<uint8_t>(-1), dest_buf[i]);
EXPECT_EQ(10u, *(decompressor->DecompressedNextForTest()));
@@ -50,7 +50,7 @@
size_t i = 0;
for (; i < 5; ++i)
EXPECT_EQ(9 - i, dest_buf[i]);
- for (; i < FX_ArraySize(dest_buf); ++i)
+ for (; i < pdfium::size(dest_buf); ++i)
EXPECT_EQ(static_cast<uint8_t>(-1), dest_buf[i]);
EXPECT_EQ(5u, *(decompressor->DecompressedNextForTest()));
@@ -68,11 +68,11 @@
memset(dest_buf, static_cast<uint8_t>(-1), sizeof(dest_buf));
EXPECT_EQ(10u, decompressor->ExtractDataForTest(dest_buf,
- FX_ArraySize(dest_buf)));
+ pdfium::size(dest_buf)));
size_t i = 0;
for (; i < 10; ++i)
EXPECT_EQ(9 - i, dest_buf[i]);
- for (; i < FX_ArraySize(dest_buf); ++i)
+ for (; i < pdfium::size(dest_buf); ++i)
EXPECT_EQ(static_cast<uint8_t>(-1), dest_buf[i]);
EXPECT_EQ(0u, *(decompressor->DecompressedNextForTest()));
@@ -86,10 +86,10 @@
ASSERT_NE(nullptr, decompressor);
uint8_t image_data[10];
- uint32_t image_size = FX_ArraySize(image_data);
+ uint32_t image_size = pdfium::size(image_data);
uint8_t output_data[10];
- uint32_t output_size = FX_ArraySize(output_data);
+ uint32_t output_size = pdfium::size(output_data);
EXPECT_EQ(
CFX_GifDecodeStatus::Error,
@@ -115,18 +115,18 @@
ASSERT_NE(nullptr, decompressor);
uint8_t image_data[] = {0x44, 0x01};
- uint32_t image_size = FX_ArraySize(image_data);
+ uint32_t image_size = pdfium::size(image_data);
uint8_t expected_data[] = {0x00};
- uint8_t output_data[FX_ArraySize(expected_data)];
+ uint8_t output_data[pdfium::size(expected_data)];
memset(output_data, 0, sizeof(output_data));
- uint32_t output_size = FX_ArraySize(output_data);
+ uint32_t output_size = pdfium::size(output_data);
EXPECT_EQ(
CFX_GifDecodeStatus::Success,
decompressor->Decode(image_data, image_size, output_data, &output_size));
- EXPECT_EQ(FX_ArraySize(output_data), output_size);
+ EXPECT_EQ(pdfium::size(output_data), output_size);
EXPECT_TRUE(0 == memcmp(expected_data, output_data, sizeof(expected_data)));
}
@@ -138,7 +138,7 @@
static constexpr uint8_t kImageData[] = {0x84, 0x8F, 0xA9, 0xCB,
0xED, 0x0F, 0x63, 0x2B};
- uint32_t image_size = FX_ArraySize(kImageData);
+ uint32_t image_size = pdfium::size(kImageData);
static constexpr uint8_t kExpectedData[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -150,15 +150,15 @@
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00};
- uint8_t output_data[FX_ArraySize(kExpectedData)];
+ uint8_t output_data[pdfium::size(kExpectedData)];
memset(output_data, 0, sizeof(output_data));
- uint32_t output_size = FX_ArraySize(output_data);
+ uint32_t output_size = pdfium::size(output_data);
EXPECT_EQ(
CFX_GifDecodeStatus::Success,
decompressor->Decode(kImageData, image_size, output_data, &output_size));
- EXPECT_EQ(FX_ArraySize(output_data), output_size);
+ EXPECT_EQ(pdfium::size(output_data), output_size);
EXPECT_TRUE(0 == memcmp(kExpectedData, output_data, sizeof(kExpectedData)));
}
@@ -171,7 +171,7 @@
static constexpr uint8_t kImageData[] = {
0x8C, 0x2D, 0x99, 0x87, 0x2A, 0x1C, 0xDC, 0x33, 0xA0, 0x02, 0x75,
0xEC, 0x95, 0xFA, 0xA8, 0xDE, 0x60, 0x8C, 0x04, 0x91, 0x4C, 0x01};
- uint32_t image_size = FX_ArraySize(kImageData);
+ uint32_t image_size = pdfium::size(kImageData);
static constexpr uint8_t kExpectedData[] = {
0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01,
@@ -184,15 +184,15 @@
0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x01,
0x01, 0x01, 0x01, 0x01};
- uint8_t output_data[FX_ArraySize(kExpectedData)];
+ uint8_t output_data[pdfium::size(kExpectedData)];
memset(output_data, 0, sizeof(output_data));
- uint32_t output_size = FX_ArraySize(output_data);
+ uint32_t output_size = pdfium::size(output_data);
EXPECT_EQ(
CFX_GifDecodeStatus::Success,
decompressor->Decode(kImageData, image_size, output_data, &output_size));
- EXPECT_EQ(FX_ArraySize(output_data), output_size);
+ EXPECT_EQ(pdfium::size(output_data), output_size);
EXPECT_TRUE(0 == memcmp(kExpectedData, output_data, sizeof(kExpectedData)));
}
@@ -207,11 +207,11 @@
0x30, 0xC9, 0x49, 0x81, 0xBD, 0x78, 0xE8, 0xCD, 0x89, 0xFF,
0x60, 0x20, 0x8E, 0xE4, 0x61, 0x9E, 0xA8, 0xA1, 0xAE, 0x2C,
0xE2, 0xBE, 0xB0, 0x20, 0xCF, 0x74, 0x61, 0xDF, 0x78, 0x04};
- uint32_t image_size = FX_ArraySize(kImageData);
+ uint32_t image_size = pdfium::size(kImageData);
uint8_t output_data[100]; // The uncompressed data is for a 10x10 image
memset(output_data, 0, sizeof(output_data));
- uint32_t output_size = FX_ArraySize(output_data);
+ uint32_t output_size = pdfium::size(output_data);
EXPECT_EQ(
CFX_GifDecodeStatus::Error,
diff --git a/core/fxcodec/jbig2/JBig2_ArithDecoder.cpp b/core/fxcodec/jbig2/JBig2_ArithDecoder.cpp
index 8d3fc5a..92bcd21 100644
--- a/core/fxcodec/jbig2/JBig2_ArithDecoder.cpp
+++ b/core/fxcodec/jbig2/JBig2_ArithDecoder.cpp
@@ -7,7 +7,7 @@
#include "core/fxcodec/jbig2/JBig2_ArithDecoder.h"
#include "core/fxcodec/jbig2/JBig2_BitStream.h"
-#include "core/fxcrt/fx_memory.h"
+#include "third_party/base/stl_util.h"
namespace {
@@ -41,13 +41,13 @@
if (qe.bSwitch)
m_MPS = !m_MPS;
m_I = qe.NLPS;
- ASSERT(m_I < FX_ArraySize(kQeTable));
+ ASSERT(m_I < pdfium::size(kQeTable));
return D;
}
int JBig2ArithCtx::DecodeNMPS(const JBig2ArithQe& qe) {
m_I = qe.NMPS;
- ASSERT(m_I < FX_ArraySize(kQeTable));
+ ASSERT(m_I < pdfium::size(kQeTable));
return MPS();
}
@@ -65,7 +65,7 @@
int CJBig2_ArithDecoder::Decode(JBig2ArithCtx* pCX) {
ASSERT(pCX);
- ASSERT(pCX->I() < FX_ArraySize(kQeTable));
+ ASSERT(pCX->I() < pdfium::size(kQeTable));
const JBig2ArithCtx::JBig2ArithQe& qe = kQeTable[pCX->I()];
m_A -= qe.Qe;
diff --git a/core/fxcodec/jbig2/JBig2_ArithIntDecoder.cpp b/core/fxcodec/jbig2/JBig2_ArithIntDecoder.cpp
index efef77e..79cc015 100644
--- a/core/fxcodec/jbig2/JBig2_ArithIntDecoder.cpp
+++ b/core/fxcodec/jbig2/JBig2_ArithIntDecoder.cpp
@@ -8,8 +8,8 @@
#include <vector>
-#include "core/fxcrt/fx_memory.h"
#include "core/fxcrt/fx_safe_types.h"
+#include "third_party/base/stl_util.h"
namespace {
@@ -28,7 +28,7 @@
std::vector<JBig2ArithCtx>* context,
int* prev,
size_t depth) {
- static const size_t kDepthEnd = FX_ArraySize(g_ArithIntDecodeData) - 1;
+ static const size_t kDepthEnd = pdfium::size(g_ArithIntDecodeData) - 1;
if (depth == kDepthEnd)
return kDepthEnd;
diff --git a/core/fxcodec/jbig2/JBig2_HuffmanTable.cpp b/core/fxcodec/jbig2/JBig2_HuffmanTable.cpp
index 547cfd4..4eb49ca 100644
--- a/core/fxcodec/jbig2/JBig2_HuffmanTable.cpp
+++ b/core/fxcodec/jbig2/JBig2_HuffmanTable.cpp
@@ -11,8 +11,8 @@
#include "core/fxcodec/jbig2/JBig2_BitStream.h"
#include "core/fxcodec/jbig2/JBig2_Context.h"
-#include "core/fxcrt/fx_memory.h"
#include "core/fxcrt/fx_safe_types.h"
+#include "third_party/base/stl_util.h"
namespace {
@@ -107,24 +107,24 @@
constexpr HuffmanTable kHuffmanTables[16] = {
{false, nullptr, 0}, // Zero dummy to preserve indexing.
- {false, kTableLine1, FX_ArraySize(kTableLine1)},
- {true, kTableLine2, FX_ArraySize(kTableLine2)},
- {true, kTableLine3, FX_ArraySize(kTableLine3)},
- {false, kTableLine4, FX_ArraySize(kTableLine4)},
- {false, kTableLine5, FX_ArraySize(kTableLine5)},
- {false, kTableLine6, FX_ArraySize(kTableLine6)},
- {false, kTableLine7, FX_ArraySize(kTableLine7)},
- {true, kTableLine8, FX_ArraySize(kTableLine8)},
- {true, kTableLine9, FX_ArraySize(kTableLine9)},
- {true, kTableLine10, FX_ArraySize(kTableLine10)},
- {false, kTableLine11, FX_ArraySize(kTableLine11)},
- {false, kTableLine12, FX_ArraySize(kTableLine12)},
- {false, kTableLine13, FX_ArraySize(kTableLine13)},
- {false, kTableLine14, FX_ArraySize(kTableLine14)},
- {false, kTableLine15, FX_ArraySize(kTableLine15)}};
+ {false, kTableLine1, pdfium::size(kTableLine1)},
+ {true, kTableLine2, pdfium::size(kTableLine2)},
+ {true, kTableLine3, pdfium::size(kTableLine3)},
+ {false, kTableLine4, pdfium::size(kTableLine4)},
+ {false, kTableLine5, pdfium::size(kTableLine5)},
+ {false, kTableLine6, pdfium::size(kTableLine6)},
+ {false, kTableLine7, pdfium::size(kTableLine7)},
+ {true, kTableLine8, pdfium::size(kTableLine8)},
+ {true, kTableLine9, pdfium::size(kTableLine9)},
+ {true, kTableLine10, pdfium::size(kTableLine10)},
+ {false, kTableLine11, pdfium::size(kTableLine11)},
+ {false, kTableLine12, pdfium::size(kTableLine12)},
+ {false, kTableLine13, pdfium::size(kTableLine13)},
+ {false, kTableLine14, pdfium::size(kTableLine14)},
+ {false, kTableLine15, pdfium::size(kTableLine15)}};
static_assert(CJBig2_HuffmanTable::kNumHuffmanTables ==
- FX_ArraySize(kHuffmanTables),
+ pdfium::size(kHuffmanTables),
"kNumHuffmanTables must be equal to the size of kHuffmanTables");
} // namespace
diff --git a/core/fxcrt/cfx_seekablestreamproxy_unittest.cpp b/core/fxcrt/cfx_seekablestreamproxy_unittest.cpp
index e91e250..2acb520 100644
--- a/core/fxcrt/cfx_seekablestreamproxy_unittest.cpp
+++ b/core/fxcrt/cfx_seekablestreamproxy_unittest.cpp
@@ -11,6 +11,7 @@
#include "core/fxcrt/retain_ptr.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/base/span.h"
+#include "third_party/base/stl_util.h"
TEST(SeekableStreamProxyTest, NullStream) {
auto proxy_stream = pdfium::MakeRetain<CFX_SeekableStreamProxy>(
@@ -18,7 +19,7 @@
pdfium::make_span<const uint8_t>(nullptr, 0)));
wchar_t buffer[16];
- EXPECT_EQ(0u, proxy_stream->ReadBlock(buffer, FX_ArraySize(buffer)));
+ EXPECT_EQ(0u, proxy_stream->ReadBlock(buffer, pdfium::size(buffer)));
}
TEST(SeekableStreamProxyTest, DefaultStreamBOMNotRecognized) {
@@ -28,7 +29,7 @@
reinterpret_cast<const uint8_t*>(data), sizeof(data) - 1)));
wchar_t buffer[16];
- EXPECT_EQ(0u, proxy_stream->ReadBlock(buffer, FX_ArraySize(buffer)));
+ EXPECT_EQ(0u, proxy_stream->ReadBlock(buffer, pdfium::size(buffer)));
}
TEST(SeekableStreamProxyTest, UTF8Stream) {
@@ -38,7 +39,7 @@
reinterpret_cast<const uint8_t*>(data), sizeof(data) - 1)));
wchar_t buffer[16];
- EXPECT_EQ(3u, proxy_stream->ReadBlock(buffer, FX_ArraySize(buffer)));
+ EXPECT_EQ(3u, proxy_stream->ReadBlock(buffer, pdfium::size(buffer)));
EXPECT_EQ(L'*', buffer[0]);
EXPECT_EQ(L'\u00A2', buffer[1]);
EXPECT_EQ(L'*', buffer[2]);
@@ -51,7 +52,7 @@
reinterpret_cast<const uint8_t*>(data), sizeof(data) - 1)));
wchar_t buffer[16];
- EXPECT_EQ(2u, proxy_stream->ReadBlock(buffer, FX_ArraySize(buffer)));
+ EXPECT_EQ(2u, proxy_stream->ReadBlock(buffer, pdfium::size(buffer)));
EXPECT_EQ(L'A', buffer[0]);
EXPECT_EQ(L'\u0142', buffer[1]);
}
@@ -63,7 +64,7 @@
reinterpret_cast<const uint8_t*>(data), sizeof(data) - 1)));
wchar_t buffer[16];
- EXPECT_EQ(2u, proxy_stream->ReadBlock(buffer, FX_ArraySize(buffer)));
+ EXPECT_EQ(2u, proxy_stream->ReadBlock(buffer, pdfium::size(buffer)));
EXPECT_EQ(L'A', buffer[0]);
EXPECT_EQ(L'\u0142', buffer[1]);
}
diff --git a/core/fxcrt/fx_coordinates.cpp b/core/fxcrt/fx_coordinates.cpp
index ccbc1f6..1395df0 100644
--- a/core/fxcrt/fx_coordinates.cpp
+++ b/core/fxcrt/fx_coordinates.cpp
@@ -10,8 +10,8 @@
#include "build/build_config.h"
#include "core/fxcrt/fx_extension.h"
-#include "core/fxcrt/fx_memory.h"
#include "core/fxcrt/fx_safe_types.h"
+#include "third_party/base/stl_util.h"
namespace {
@@ -413,7 +413,7 @@
float new_left = points[0].x;
float new_top = points[0].y;
float new_bottom = points[0].y;
- for (size_t i = 1; i < FX_ArraySize(points); i++) {
+ for (size_t i = 1; i < pdfium::size(points); i++) {
new_right = std::max(new_right, points[i].x);
new_left = std::min(new_left, points[i].x);
new_top = std::max(new_top, points[i].y);
diff --git a/core/fxcrt/fx_extension_unittest.cpp b/core/fxcrt/fx_extension_unittest.cpp
index d4163d3..74a63f0 100644
--- a/core/fxcrt/fx_extension_unittest.cpp
+++ b/core/fxcrt/fx_extension_unittest.cpp
@@ -6,8 +6,8 @@
#include <limits>
-#include "core/fxcrt/fx_memory.h"
#include "testing/gtest/include/gtest/gtest.h"
+#include "third_party/base/stl_util.h"
TEST(fxcrt, FXSYS_IsLowerASCII) {
EXPECT_TRUE(FXSYS_IsLowerASCII('a'));
@@ -196,8 +196,8 @@
const float fNan = std::numeric_limits<float>::quiet_NaN();
const float ascending[] = {fMin, 1.0f, 2.0f, fMax, fInf, fNan};
- for (size_t i = 0; i < FX_ArraySize(ascending); ++i) {
- for (size_t j = 0; j < FX_ArraySize(ascending); ++j) {
+ for (size_t i = 0; i < pdfium::size(ascending); ++i) {
+ for (size_t j = 0; j < pdfium::size(ascending); ++j) {
if (i == j) {
EXPECT_TRUE(FXSYS_SafeEQ(ascending[i], ascending[j]))
<< " at " << i << " " << j;
diff --git a/core/fxcrt/fx_memory.h b/core/fxcrt/fx_memory.h
index b2f582f..ca9a08a 100644
--- a/core/fxcrt/fx_memory.h
+++ b/core/fxcrt/fx_memory.h
@@ -74,21 +74,6 @@
void FX_Free(void* ptr);
-// The FX_ArraySize(arr) macro returns the # of elements in an array arr.
-// The expression is a compile-time constant, and therefore can be
-// used in defining new arrays, for example. If you use FX_ArraySize on
-// a pointer by mistake, you will get a compile-time error.
-//
-// One caveat is that FX_ArraySize() doesn't accept any array of an
-// anonymous type or a type defined inside a function.
-#define FX_ArraySize(array) (sizeof(ArraySizeHelper(array)))
-
-// This template function declaration is used in defining FX_ArraySize.
-// Note that the function doesn't need an implementation, as we only
-// use its type.
-template <typename T, size_t N>
-char (&ArraySizeHelper(T (&array)[N]))[N];
-
// Round up to the power-of-two boundary N.
template <int N, typename T>
inline T FxAlignToBoundary(T size) {
diff --git a/core/fxcrt/fx_string.cpp b/core/fxcrt/fx_string.cpp
index d4a6d38..4ff16ea 100644
--- a/core/fxcrt/fx_string.cpp
+++ b/core/fxcrt/fx_string.cpp
@@ -13,6 +13,7 @@
#include "core/fxcrt/cfx_utf8encoder.h"
#include "core/fxcrt/fx_extension.h"
#include "third_party/base/compiler_specific.h"
+#include "third_party/base/stl_util.h"
ByteString FX_UTF8Encode(WideStringView wsStr) {
CFX_UTF8Encoder encoder;
@@ -139,7 +140,7 @@
float StringToFloat(ByteStringView strc) {
return StringTo<float>(strc, kFractionScalesFloat,
- FX_ArraySize(kFractionScalesFloat));
+ pdfium::size(kFractionScalesFloat));
}
float StringToFloat(WideStringView wsStr) {
@@ -152,7 +153,7 @@
double StringToDouble(ByteStringView strc) {
return StringTo<double>(strc, kFractionScalesDouble,
- FX_ArraySize(kFractionScalesDouble));
+ pdfium::size(kFractionScalesDouble));
}
double StringToDouble(WideStringView wsStr) {
diff --git a/core/fxcrt/fx_system_unittest.cpp b/core/fxcrt/fx_system_unittest.cpp
index 63bebc1..2b51c15 100644
--- a/core/fxcrt/fx_system_unittest.cpp
+++ b/core/fxcrt/fx_system_unittest.cpp
@@ -5,10 +5,10 @@
#include <limits>
#include "build/build_config.h"
-#include "core/fxcrt/fx_memory.h"
#include "core/fxcrt/fx_string.h"
#include "core/fxcrt/fx_system.h"
#include "testing/gtest/include/gtest/gtest.h"
+#include "third_party/base/stl_util.h"
// Unit test covering cases where PDFium replaces well-known library
// functionality on any given platformn.
@@ -273,7 +273,7 @@
good_time.tm_sec = 59;
wchar_t buf[100] = {};
- EXPECT_EQ(19u, FXSYS_wcsftime(buf, FX_ArraySize(buf), L"%Y-%m-%dT%H:%M:%S",
+ EXPECT_EQ(19u, FXSYS_wcsftime(buf, pdfium::size(buf), L"%Y-%m-%dT%H:%M:%S",
&good_time));
EXPECT_STREQ(L"1974-08-09T11:59:59", buf);
@@ -288,7 +288,7 @@
for (int year = -2500; year <= 8500; ++year) {
year_time.tm_year = year;
wchar_t year_buf[100] = {};
- FXSYS_wcsftime(year_buf, FX_ArraySize(year_buf), L"%Y-%m-%dT%H:%M:%S",
+ FXSYS_wcsftime(year_buf, pdfium::size(year_buf), L"%Y-%m-%dT%H:%M:%S",
&year_time);
}
@@ -301,7 +301,7 @@
bad_time.tm_min = -1;
bad_time.tm_sec = -1;
- FXSYS_wcsftime(buf, FX_ArraySize(buf), L"%y-%m-%dT%H:%M:%S", &bad_time);
+ FXSYS_wcsftime(buf, pdfium::size(buf), L"%y-%m-%dT%H:%M:%S", &bad_time);
// Ensure wcsftime handles bad-ish day without crashing (Feb 30).
struct tm feb_time = {};
@@ -312,7 +312,7 @@
feb_time.tm_min = 00;
feb_time.tm_sec = 00;
- FXSYS_wcsftime(buf, FX_ArraySize(buf), L"%y-%m-%dT%H:%M:%S", &feb_time);
+ FXSYS_wcsftime(buf, pdfium::size(buf), L"%y-%m-%dT%H:%M:%S", &feb_time);
}
TEST(fxcrt, FXSYS_atoi) {
diff --git a/core/fxcrt/fx_unicode.cpp b/core/fxcrt/fx_unicode.cpp
index f6f102b..abcd091 100644
--- a/core/fxcrt/fx_unicode.cpp
+++ b/core/fxcrt/fx_unicode.cpp
@@ -6,7 +6,7 @@
#include "core/fxcrt/fx_unicode.h"
-#include "core/fxcrt/fx_memory.h"
+#include "third_party/base/stl_util.h"
namespace {
@@ -30,7 +30,7 @@
#undef CHARPROP____
constexpr size_t kTextLayoutCodePropertiesSize =
- FX_ArraySize(kTextLayoutCodeProperties);
+ pdfium::size(kTextLayoutCodeProperties);
static_assert(kTextLayoutCodePropertiesSize == 65536, "missing characters");
@@ -63,7 +63,7 @@
#undef CHARPROP____
constexpr size_t kExtendedTextLayoutCodePropertiesSize =
- FX_ArraySize(kExtendedTextLayoutCodeProperties);
+ pdfium::size(kExtendedTextLayoutCodeProperties);
static_assert(kExtendedTextLayoutCodePropertiesSize == 65536,
"missing characters");
@@ -122,7 +122,7 @@
};
constexpr size_t kFXTextLayoutBidiMirrorSize =
- FX_ArraySize(kFXTextLayoutBidiMirror);
+ pdfium::size(kFXTextLayoutBidiMirror);
// Check that the mirror indicies in the fx_ucddata.inc table are in bounds.
#undef CHARPROP____
diff --git a/core/fxcrt/widestring_unittest.cpp b/core/fxcrt/widestring_unittest.cpp
index 084393e..26ce498 100644
--- a/core/fxcrt/widestring_unittest.cpp
+++ b/core/fxcrt/widestring_unittest.cpp
@@ -9,7 +9,6 @@
#include <vector>
#include "build/build_config.h"
-#include "core/fxcrt/fx_memory.h"
#include "core/fxcrt/fx_string.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/base/span.h"
@@ -1108,7 +1107,7 @@
{L"\x3132\x6162", ByteString("\x32\x31\x62\x61\0\0", 6)},
};
- for (size_t i = 0; i < FX_ArraySize(utf16le_encode_cases); ++i) {
+ for (size_t i = 0; i < pdfium::size(utf16le_encode_cases); ++i) {
EXPECT_EQ(utf16le_encode_cases[i].bs,
utf16le_encode_cases[i].ws.ToUTF16LE())
<< " for case number " << i;
diff --git a/core/fxge/android/cfpf_skiafontmgr.cpp b/core/fxge/android/cfpf_skiafontmgr.cpp
index 1115fbf..5f58e4b 100644
--- a/core/fxge/android/cfpf_skiafontmgr.cpp
+++ b/core/fxge/android/cfpf_skiafontmgr.cpp
@@ -11,13 +11,13 @@
#include "core/fxcrt/fx_codepage.h"
#include "core/fxcrt/fx_extension.h"
-#include "core/fxcrt/fx_memory.h"
#include "core/fxcrt/fx_stream.h"
#include "core/fxcrt/fx_system.h"
#include "core/fxge/android/cfpf_skiafont.h"
#include "core/fxge/android/cfpf_skiapathfont.h"
#include "core/fxge/fx_font.h"
#include "core/fxge/fx_freetype.h"
+#include "third_party/base/stl_util.h"
namespace {
@@ -263,9 +263,9 @@
uint32_t dwFaceName = FPF_SKIANormalizeFontName(bsFamilyname);
uint32_t dwSubst = FPF_SkiaGetSubstFont(dwFaceName, g_SkiaFontmap,
- FX_ArraySize(g_SkiaFontmap));
+ pdfium::size(g_SkiaFontmap));
uint32_t dwSubstSans = FPF_SkiaGetSubstFont(dwFaceName, g_SkiaSansFontMap,
- FX_ArraySize(g_SkiaSansFontMap));
+ pdfium::size(g_SkiaSansFontMap));
bool bMaybeSymbol = FPF_SkiaMaybeSymbol(bsFamilyname);
if (uCharset != FX_CHARSET_MSWin_Arabic &&
FPF_SkiaMaybeArabic(bsFamilyname)) {
diff --git a/core/fxge/cfx_folderfontinfo.cpp b/core/fxge/cfx_folderfontinfo.cpp
index 6b659ba..75c4de9 100644
--- a/core/fxge/cfx_folderfontinfo.cpp
+++ b/core/fxge/cfx_folderfontinfo.cpp
@@ -285,7 +285,7 @@
}
void* CFX_FolderFontInfo::GetSubstFont(const ByteString& face) {
- for (size_t iBaseFont = 0; iBaseFont < FX_ArraySize(Base14Substs);
+ for (size_t iBaseFont = 0; iBaseFont < pdfium::size(Base14Substs);
iBaseFont++) {
if (face == Base14Substs[iBaseFont].m_pName)
return GetFont(Base14Substs[iBaseFont].m_pSubstName);
diff --git a/core/fxge/cfx_fontmapper.cpp b/core/fxge/cfx_fontmapper.cpp
index da133d9..576b704 100644
--- a/core/fxge/cfx_fontmapper.cpp
+++ b/core/fxge/cfx_fontmapper.cpp
@@ -225,7 +225,7 @@
if (bsStyle.IsEmpty())
return std::make_tuple(false, FXFONT_NORMAL, 0);
- for (int i = FX_ArraySize(g_FontStyles) - 1; i >= 0; --i) {
+ for (int i = pdfium::size(g_FontStyles) - 1; i >= 0; --i) {
const FX_FontStyle* pStyle = g_FontStyles + i;
if (!pStyle || pStyle->len > bsStyle.GetLength())
continue;
diff --git a/core/fxge/cfx_fontmgr.cpp b/core/fxge/cfx_fontmgr.cpp
index b585cf1..e90910a 100644
--- a/core/fxge/cfx_fontmgr.cpp
+++ b/core/fxge/cfx_fontmgr.cpp
@@ -15,6 +15,7 @@
#include "core/fxge/fontdata/chromefontdata/chromefontdata.h"
#include "core/fxge/fx_font.h"
#include "core/fxge/systemfontinfo_iface.h"
+#include "third_party/base/stl_util.h"
namespace {
@@ -74,12 +75,12 @@
CFX_FontMgr::FontDesc::~FontDesc() = default;
void CFX_FontMgr::FontDesc::SetFace(size_t index, CFX_Face* face) {
- ASSERT(index < FX_ArraySize(m_TTCFaces));
+ ASSERT(index < pdfium::size(m_TTCFaces));
m_TTCFaces[index].Reset(face);
}
CFX_Face* CFX_FontMgr::FontDesc::GetFace(size_t index) const {
- ASSERT(index < FX_ArraySize(m_TTCFaces));
+ ASSERT(index < pdfium::size(m_TTCFaces));
return m_TTCFaces[index].Get();
}
@@ -160,12 +161,12 @@
// static
Optional<pdfium::span<const uint8_t>> CFX_FontMgr::GetBuiltinFont(
size_t index) {
- if (index < FX_ArraySize(g_FoxitFonts)) {
+ if (index < pdfium::size(g_FoxitFonts)) {
return pdfium::make_span(g_FoxitFonts[index].m_pFontData,
g_FoxitFonts[index].m_dwSize);
}
- size_t mm_index = index - FX_ArraySize(g_FoxitFonts);
- if (mm_index < FX_ArraySize(g_MMFonts)) {
+ size_t mm_index = index - pdfium::size(g_FoxitFonts);
+ if (mm_index < pdfium::size(g_MMFonts)) {
return pdfium::make_span(g_MMFonts[mm_index].m_pFontData,
g_MMFonts[mm_index].m_dwSize);
}
diff --git a/core/fxge/dib/cfx_dibbase.cpp b/core/fxge/dib/cfx_dibbase.cpp
index 2ad7465..32a73f0 100644
--- a/core/fxge/dib/cfx_dibbase.cpp
+++ b/core/fxge/dib/cfx_dibbase.cpp
@@ -11,6 +11,7 @@
#include <utility>
#include <vector>
+#include "core/fxcrt/fx_memory.h"
#include "core/fxcrt/fx_safe_types.h"
#include "core/fxge/cfx_cliprgn.h"
#include "core/fxge/dib/cfx_bitmapstorer.h"
@@ -19,6 +20,7 @@
#include "core/fxge/dib/cfx_imagestretcher.h"
#include "core/fxge/dib/cfx_imagetransformer.h"
#include "third_party/base/logging.h"
+#include "third_party/base/stl_util.h"
namespace {
@@ -191,14 +193,14 @@
uint8_t r;
uint8_t g;
uint8_t b;
- for (size_t i = 0; i < FX_ArraySize(gray); ++i) {
+ for (size_t i = 0; i < pdfium::size(gray); ++i) {
std::tie(r, g, b) = AdobeCMYK_to_sRGB1(
FXSYS_GetCValue(src_plt[i]), FXSYS_GetMValue(src_plt[i]),
FXSYS_GetYValue(src_plt[i]), FXSYS_GetKValue(src_plt[i]));
gray[i] = FXRGB2GRAY(r, g, b);
}
} else {
- for (size_t i = 0; i < FX_ArraySize(gray); ++i) {
+ for (size_t i = 0; i < pdfium::size(gray); ++i) {
gray[i] = FXRGB2GRAY(FXARGB_R(src_plt[i]), FXARGB_G(src_plt[i]),
FXARGB_B(src_plt[i]));
}
diff --git a/core/fxge/dib/cfx_imagetransformer.cpp b/core/fxge/dib/cfx_imagetransformer.cpp
index bc0c778..79044dc 100644
--- a/core/fxge/dib/cfx_imagetransformer.cpp
+++ b/core/fxge/dib/cfx_imagetransformer.cpp
@@ -514,13 +514,13 @@
uint32_t argb[256];
FX_ARGB* pPal = m_Storer.GetBitmap()->GetPalette();
if (pPal) {
- for (size_t i = 0; i < FX_ArraySize(argb); i++)
+ for (size_t i = 0; i < pdfium::size(argb); i++)
argb[i] = pPal[i];
} else if (m_Storer.GetBitmap()->IsCmykImage()) {
- for (size_t i = 0; i < FX_ArraySize(argb); i++)
+ for (size_t i = 0; i < pdfium::size(argb); i++)
argb[i] = 255 - i;
} else {
- for (size_t i = 0; i < FX_ArraySize(argb); i++)
+ for (size_t i = 0; i < pdfium::size(argb); i++)
argb[i] = 0xff000000 | (i * 0x010101);
}
int destBpp = cdata.bitmap->GetBPP() / 8;
diff --git a/core/fxge/fx_ge_linux.cpp b/core/fxge/fx_ge_linux.cpp
index c76c99d..68c704c 100644
--- a/core/fxge/fx_ge_linux.cpp
+++ b/core/fxge/fx_ge_linux.cpp
@@ -13,6 +13,7 @@
#include "core/fxge/cfx_gemodule.h"
#include "core/fxge/fx_font.h"
#include "core/fxge/systemfontinfo_iface.h"
+#include "third_party/base/stl_util.h"
#if _FX_PLATFORM_ == _FX_PLATFORM_LINUX_
namespace {
@@ -100,7 +101,7 @@
switch (charset) {
case FX_CHARSET_ShiftJIS: {
uint8_t index = GetJapanesePreference(family, weight, pitch_family);
- ASSERT(index < FX_ArraySize(g_LinuxJpFontList));
+ ASSERT(index < pdfium::size(g_LinuxJpFontList));
for (const char* name : g_LinuxJpFontList[index]) {
auto it = m_FontList.find(name);
if (it != m_FontList.end())
diff --git a/core/fxge/win32/fx_win32_device.cpp b/core/fxge/win32/fx_win32_device.cpp
index 3fe4a50..4aca5c4 100644
--- a/core/fxge/win32/fx_win32_device.cpp
+++ b/core/fxge/win32/fx_win32_device.cpp
@@ -11,7 +11,6 @@
#include <vector>
#include "core/fxcrt/fx_codepage.h"
-#include "core/fxcrt/fx_memory.h"
#include "core/fxcrt/fx_system.h"
#include "core/fxcrt/maybe_owned.h"
#include "core/fxge/cfx_folderfontinfo.h"
@@ -28,6 +27,7 @@
#include "core/fxge/win32/win32_int.h"
#include "third_party/base/ptr_util.h"
#include "third_party/base/span.h"
+#include "third_party/base/stl_util.h"
#include "third_party/base/win/win_util.h"
#ifndef _SKIA_SUPPORT_
@@ -73,7 +73,7 @@
};
bool GetSubFontName(ByteString* name) {
- for (size_t i = 0; i < FX_ArraySize(g_JpFontNameMap); ++i) {
+ for (size_t i = 0; i < pdfium::size(g_JpFontNameMap); ++i) {
if (!FXSYS_stricmp(name->c_str(), g_JpFontNameMap[i].m_pSrcFontName)) {
*name = g_JpFontNameMap[i].m_pSubFontName;
return true;
@@ -583,7 +583,7 @@
return hFont;
WideString wsFace = WideString::FromDefANSI(facebuf);
- for (size_t i = 0; i < FX_ArraySize(g_VariantNames); ++i) {
+ for (size_t i = 0; i < pdfium::size(g_VariantNames); ++i) {
if (face != g_VariantNames[i].m_pFaceName)
continue;
diff --git a/core/fxge/win32/fx_win32_gdipext.cpp b/core/fxge/win32/fx_win32_gdipext.cpp
index 1743155..20cf77f 100644
--- a/core/fxge/win32/fx_win32_gdipext.cpp
+++ b/core/fxge/win32/fx_win32_gdipext.cpp
@@ -14,6 +14,7 @@
#include <utility>
#include <vector>
+#include "core/fxcrt/fx_memory.h"
#include "core/fxcrt/fx_system.h"
#include "core/fxge/cfx_gemodule.h"
#include "core/fxge/cfx_graphstatedata.h"
@@ -21,6 +22,7 @@
#include "core/fxge/win32/cfx_windowsdib.h"
#include "core/fxge/win32/win32_int.h"
#include "third_party/base/span.h"
+#include "third_party/base/stl_util.h"
// Has to come before gdiplus.h
namespace Gdiplus {
@@ -125,7 +127,7 @@
"GdipSetWorldTransform",
"GdipSetPixelOffsetMode",
};
-static_assert(FX_ArraySize(g_GdipFuncNames) ==
+static_assert(pdfium::size(g_GdipFuncNames) ==
static_cast<size_t>(FuncId_GdipSetPixelOffsetMode) + 1,
"g_GdipFuncNames has wrong size");
@@ -489,7 +491,7 @@
pdfium::span<const Gdiplus::PointF> points,
const CFX_Matrix* pMatrix) {
static constexpr size_t kPairs[3][2] = {{1, 2}, {0, 2}, {0, 1}};
- for (size_t i = 0; i < FX_ArraySize(kPairs); ++i) {
+ for (size_t i = 0; i < pdfium::size(kPairs); ++i) {
size_t pair1 = kPairs[i][0];
size_t pair2 = kPairs[i][1];
@@ -760,8 +762,8 @@
if (!m_hModule)
return;
- m_Functions.resize(FX_ArraySize(g_GdipFuncNames));
- for (size_t i = 0; i < FX_ArraySize(g_GdipFuncNames); ++i) {
+ m_Functions.resize(pdfium::size(g_GdipFuncNames));
+ for (size_t i = 0; i < pdfium::size(g_GdipFuncNames); ++i) {
m_Functions[i] = GetProcAddress(m_hModule, g_GdipFuncNames[i]);
if (!m_Functions[i]) {
m_hModule = nullptr;