Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

Commit acca56c

Browse files
authored
Revert "Extract WideToUTF16String/UTF16StringToWide to FML (#39006)" (#39019)
This reverts commit 7bbe79e.
1 parent 7bbe79e commit acca56c

10 files changed

+64
-96
lines changed

fml/platform/win/wstring_conversion.cc

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -23,16 +23,4 @@ std::wstring Utf8ToWideString(const std::string_view str) {
2323
return converter.from_bytes(str.data());
2424
}
2525

26-
std::u16string WideStringToUtf16(const std::wstring_view str) {
27-
static_assert(sizeof(std::wstring::value_type) ==
28-
sizeof(std::u16string::value_type));
29-
return {begin(str), end(str)};
30-
}
31-
32-
std::wstring Utf16ToWideString(const std::u16string_view str) {
33-
static_assert(sizeof(std::wstring::value_type) ==
34-
sizeof(std::u16string::value_type));
35-
return {begin(str), end(str)};
36-
}
37-
3826
} // namespace fml

fml/platform/win/wstring_conversion.h

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,6 @@ std::string WideStringToUtf8(const std::wstring_view str);
1616
// string.
1717
std::wstring Utf8ToWideString(const std::string_view str);
1818

19-
// Returns a UTF-16 encoded equivalent of a UTF-16 encoded wide string.
20-
std::u16string WideStringToUtf16(const std::wstring_view str);
21-
22-
// Returns a UTF-16 encoded wide string equivalent of a UTF-16 string.
23-
std::wstring Utf16ToWideString(const std::u16string_view str);
24-
2519
} // namespace fml
2620

2721
#endif // FLUTTER_FML_PLATFORM_WIN_WSTRING_CONVERSION_H_

fml/platform/win/wstring_conversion_unittests.cc

Lines changed: 1 addition & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
namespace fml {
1010
namespace testing {
1111

12-
TEST(StringConversion, Utf8ToWideStringEmpty) {
12+
TEST(StringConversion, Utf16ToWideStringEmpty) {
1313
EXPECT_EQ(Utf8ToWideString(""), L"");
1414
}
1515

@@ -33,29 +33,5 @@ TEST(StringConversion, WideStringToUtf8Unicode) {
3333
EXPECT_EQ(WideStringToUtf8(L"\x2603"), "\xe2\x98\x83");
3434
}
3535

36-
TEST(StringConversion, WideStringToUtf16Empty) {
37-
EXPECT_EQ(WideStringToUtf16(L""), u"");
38-
}
39-
40-
TEST(StringConversion, WideStringToUtf16Ascii) {
41-
EXPECT_EQ(WideStringToUtf16(L"abc123"), u"abc123");
42-
}
43-
44-
TEST(StringConversion, WideStringToUtf16Unicode) {
45-
EXPECT_EQ(WideStringToUtf16(L"\xe2\x98\x83"), u"\xe2\x98\x83");
46-
}
47-
48-
TEST(StringConversion, Utf16ToWideStringEmpty) {
49-
EXPECT_EQ(Utf16ToWideString(u""), L"");
50-
}
51-
52-
TEST(StringConversion, Utf16ToWideStringAscii) {
53-
EXPECT_EQ(Utf16ToWideString(u"abc123"), L"abc123");
54-
}
55-
56-
TEST(StringConversion, Utf16ToWideStringUtf8Unicode) {
57-
EXPECT_EQ(Utf16ToWideString(u"\xe2\x98\x83"), L"\xe2\x98\x83");
58-
}
59-
6036
} // namespace testing
6137
} // namespace fml

third_party/accessibility/ax/BUILD.gn

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,6 @@ source_set("ax") {
106106
"oleacc.lib",
107107
"uiautomationcore.lib",
108108
]
109-
deps = [ "//flutter/fml:string_conversion" ]
110109
}
111110

112111
public_deps = [

third_party/accessibility/ax/ax_node_position_unittest.cc

Lines changed: 30 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919
#include "ax/ax_tree_id.h"
2020
#include "ax/ax_tree_update.h"
2121
#include "ax/test_ax_tree_manager.h"
22-
#include "flutter/fml/platform/win/wstring_conversion.h"
2322
#include "gtest/gtest.h"
2423

2524
namespace ui {
@@ -29,6 +28,10 @@ using TestPositionRange = AXRange<AXPosition<AXNodePosition, AXNode>>;
2928

3029
namespace {
3130

31+
std::u16string WideToUTF16(const std::wstring wide) {
32+
return std::u16string(wide.begin(), wide.end());
33+
}
34+
3235
constexpr AXNode::AXID ROOT_ID = 1;
3336
constexpr AXNode::AXID BUTTON_ID = 2;
3437
constexpr AXNode::AXID CHECK_BOX_ID = 3;
@@ -40,20 +43,20 @@ constexpr AXNode::AXID STATIC_TEXT2_ID = 8;
4043
constexpr AXNode::AXID INLINE_BOX2_ID = 9;
4144

4245
// A group of basic and extended characters.
43-
constexpr const char16_t* kGraphemeClusters[] = {
46+
constexpr const wchar_t* kGraphemeClusters[] = {
4447
// The English word "hey" consisting of four ASCII characters.
45-
u"h",
46-
u"e",
47-
u"y",
48+
L"h",
49+
L"e",
50+
L"y",
4851
// A Hindi word (which means "Hindi") consisting of two Devanagari
4952
// grapheme clusters.
50-
u"\x0939\x093F",
51-
u"\x0928\x094D\x0926\x0940",
53+
L"\x0939\x093F",
54+
L"\x0928\x094D\x0926\x0940",
5255
// A Thai word (which means "feel") consisting of three Thai grapheme
5356
// clusters.
54-
u"\x0E23\x0E39\x0E49",
55-
u"\x0E2A\x0E36",
56-
u"\x0E01",
57+
L"\x0E23\x0E39\x0E49",
58+
L"\x0E2A\x0E36",
59+
L"\x0E01",
5760
};
5861

5962
class AXPositionTest : public testing::Test, public TestAXTreeManager {
@@ -416,7 +419,7 @@ std::unique_ptr<AXTree> AXPositionTest::CreateMultilingualDocument(
416419

417420
std::u16string english_text;
418421
for (int i = 0; i < 3; ++i) {
419-
std::u16string grapheme = kGraphemeClusters[i];
422+
std::u16string grapheme = WideToUTF16(kGraphemeClusters[i]);
420423
EXPECT_EQ(1u, grapheme.length())
421424
<< "All English characters should be one UTF16 code unit in length.";
422425
text_offsets->push_back(text_offsets->back() +
@@ -426,7 +429,7 @@ std::unique_ptr<AXTree> AXPositionTest::CreateMultilingualDocument(
426429

427430
std::u16string hindi_text;
428431
for (int i = 3; i < 5; ++i) {
429-
std::u16string grapheme = kGraphemeClusters[i];
432+
std::u16string grapheme = WideToUTF16(kGraphemeClusters[i]);
430433
EXPECT_LE(2u, grapheme.length()) << "All Hindi characters should be two "
431434
"or more UTF16 code units in length.";
432435
text_offsets->push_back(text_offsets->back() +
@@ -436,7 +439,7 @@ std::unique_ptr<AXTree> AXPositionTest::CreateMultilingualDocument(
436439

437440
std::u16string thai_text;
438441
for (int i = 5; i < 8; ++i) {
439-
std::u16string grapheme = kGraphemeClusters[i];
442+
std::u16string grapheme = WideToUTF16(kGraphemeClusters[i]);
440443
EXPECT_LT(0u, grapheme.length())
441444
<< "One of the Thai characters should be one UTF16 code unit, "
442445
"whilst others should be two or more.";
@@ -615,7 +618,7 @@ TEST_F(AXPositionTest, ToString) {
615618
AXNodeData static_text_data_2;
616619
static_text_data_2.id = 3;
617620
static_text_data_2.role = ax::mojom::Role::kStaticText;
618-
static_text_data_2.SetName(u"\xfffc");
621+
static_text_data_2.SetName(WideToUTF16(L"\xfffc"));
619622

620623
AXNodeData static_text_data_3;
621624
static_text_data_3.id = 4;
@@ -873,7 +876,7 @@ TEST_F(AXPositionTest, GetTextFromNullPosition) {
873876
TestPositionType text_position = AXNodePosition::CreateNullPosition();
874877
ASSERT_NE(nullptr, text_position);
875878
ASSERT_TRUE(text_position->IsNullPosition());
876-
ASSERT_EQ(u"", text_position->GetText());
879+
ASSERT_EQ(WideToUTF16(L""), text_position->GetText());
877880
}
878881

879882
TEST_F(AXPositionTest, GetTextFromRoot) {
@@ -882,7 +885,7 @@ TEST_F(AXPositionTest, GetTextFromRoot) {
882885
ax::mojom::TextAffinity::kUpstream);
883886
ASSERT_NE(nullptr, text_position);
884887
ASSERT_TRUE(text_position->IsTextPosition());
885-
ASSERT_EQ(u"Line 1\nLine 2", text_position->GetText());
888+
ASSERT_EQ(WideToUTF16(L"Line 1\nLine 2"), text_position->GetText());
886889
}
887890

888891
TEST_F(AXPositionTest, GetTextFromButton) {
@@ -891,7 +894,7 @@ TEST_F(AXPositionTest, GetTextFromButton) {
891894
ax::mojom::TextAffinity::kUpstream);
892895
ASSERT_NE(nullptr, text_position);
893896
ASSERT_TRUE(text_position->IsTextPosition());
894-
ASSERT_EQ(u"", text_position->GetText());
897+
ASSERT_EQ(WideToUTF16(L""), text_position->GetText());
895898
}
896899

897900
TEST_F(AXPositionTest, GetTextFromCheckbox) {
@@ -900,7 +903,7 @@ TEST_F(AXPositionTest, GetTextFromCheckbox) {
900903
ax::mojom::TextAffinity::kUpstream);
901904
ASSERT_NE(nullptr, text_position);
902905
ASSERT_TRUE(text_position->IsTextPosition());
903-
ASSERT_EQ(u"", text_position->GetText());
906+
ASSERT_EQ(WideToUTF16(L""), text_position->GetText());
904907
}
905908

906909
TEST_F(AXPositionTest, GetTextFromTextField) {
@@ -909,7 +912,7 @@ TEST_F(AXPositionTest, GetTextFromTextField) {
909912
ax::mojom::TextAffinity::kUpstream);
910913
ASSERT_NE(nullptr, text_position);
911914
ASSERT_TRUE(text_position->IsTextPosition());
912-
ASSERT_EQ(u"Line 1\nLine 2", text_position->GetText());
915+
ASSERT_EQ(WideToUTF16(L"Line 1\nLine 2"), text_position->GetText());
913916
}
914917

915918
TEST_F(AXPositionTest, GetTextFromStaticText) {
@@ -918,7 +921,7 @@ TEST_F(AXPositionTest, GetTextFromStaticText) {
918921
ax::mojom::TextAffinity::kUpstream);
919922
ASSERT_NE(nullptr, text_position);
920923
ASSERT_TRUE(text_position->IsTextPosition());
921-
ASSERT_EQ(u"Line 1", text_position->GetText());
924+
ASSERT_EQ(WideToUTF16(L"Line 1"), text_position->GetText());
922925
}
923926

924927
TEST_F(AXPositionTest, GetTextFromInlineTextBox) {
@@ -927,7 +930,7 @@ TEST_F(AXPositionTest, GetTextFromInlineTextBox) {
927930
ax::mojom::TextAffinity::kUpstream);
928931
ASSERT_NE(nullptr, text_position);
929932
ASSERT_TRUE(text_position->IsTextPosition());
930-
ASSERT_EQ(u"Line 1", text_position->GetText());
933+
ASSERT_EQ(WideToUTF16(L"Line 1"), text_position->GetText());
931934
}
932935

933936
TEST_F(AXPositionTest, GetTextFromLineBreak) {
@@ -936,7 +939,7 @@ TEST_F(AXPositionTest, GetTextFromLineBreak) {
936939
ax::mojom::TextAffinity::kUpstream);
937940
ASSERT_NE(nullptr, text_position);
938941
ASSERT_TRUE(text_position->IsTextPosition());
939-
ASSERT_EQ(u"\n", text_position->GetText());
942+
ASSERT_EQ(WideToUTF16(L"\n"), text_position->GetText());
940943
}
941944

942945
TEST_F(AXPositionTest, GetMaxTextOffsetFromNullPosition) {
@@ -1103,7 +1106,7 @@ TEST_F(AXPositionTest, GetMaxTextOffsetAndGetTextWithGeneratedContent) {
11031106
ASSERT_NE(nullptr, text_position);
11041107
EXPECT_TRUE(text_position->IsTextPosition());
11051108
EXPECT_EQ(38, text_position->MaxTextOffset());
1106-
EXPECT_EQ(u"Placeholder from generated content3.14",
1109+
EXPECT_EQ(WideToUTF16(L"Placeholder from generated content3.14"),
11071110
text_position->GetText());
11081111
}
11091112

@@ -7709,10 +7712,10 @@ TEST_F(AXPositionTest, EmptyObjectReplacedByCharacterTextNavigation) {
77097712
GetTreeID(), root_1.id, 0 /* text_offset */,
77107713
ax::mojom::TextAffinity::kDownstream);
77117714

7712-
expected_text =
7713-
std::u16string(u"Hello ") + AXNodePosition::kEmbeddedCharacter +
7714-
std::u16string(u" world3.14") + AXNodePosition::kEmbeddedCharacter +
7715-
std::u16string(u"hey") + AXNodePosition::kEmbeddedCharacter;
7715+
expected_text = WideToUTF16(L"Hello ") + AXNodePosition::kEmbeddedCharacter +
7716+
WideToUTF16(L" world3.14") +
7717+
AXNodePosition::kEmbeddedCharacter + WideToUTF16(L"hey") +
7718+
AXNodePosition::kEmbeddedCharacter;
77167719
ASSERT_EQ(expected_text, position->GetText());
77177720

77187721
// MaxTextOffset() with an embedded object replacement character.

third_party/accessibility/ax/platform/ax_platform_node_textprovider_win_unittest.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -349,7 +349,7 @@ TEST_F(AXPlatformNodeTextProviderTest,
349349
base::win::ScopedBstr text_content;
350350
EXPECT_HRESULT_SUCCEEDED(
351351
text_range_provider->GetText(-1, text_content.Receive()));
352-
EXPECT_EQ(fml::WideStringToUtf16(text_content.Get()),
352+
EXPECT_EQ(base::WideToUTF16(text_content.Get()),
353353
u"Dialog label.Dialog description." + kEmbeddedCharacterAsString +
354354
u"ok.Some more detail " + u"about dialog.");
355355

third_party/accessibility/ax/platform/ax_platform_node_textrangeprovider_win.cc

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
#include "ax/platform/ax_platform_node_win.h"
1414
#include "ax/platform/ax_platform_tree_manager.h"
1515
#include "base/win/variant_vector.h"
16-
#include "flutter/fml/platform/win/wstring_conversion.h"
1716

1817
#define UIA_VALIDATE_TEXTRANGEPROVIDER_CALL() \
1918
if (!GetOwner() || !GetOwner()->GetDelegate() || !start() || \
@@ -484,7 +483,7 @@ HRESULT AXPlatformNodeTextRangeProviderWin::FindText(
484483
ScopedAXEmbeddedObjectBehaviorSetter ax_embedded_object_behavior(
485484
AXEmbeddedObjectBehavior::kSuppressCharacter);
486485

487-
std::u16string search_string = fml::WideStringToUtf16(string);
486+
std::u16string search_string = base::WideToUTF16(string);
488487
if (search_string.length() <= 0)
489488
return E_INVALIDARG;
490489

@@ -704,7 +703,7 @@ HRESULT AXPlatformNodeTextRangeProviderWin::GetText(int max_count, BSTR* text) {
704703
if (max_count < -1)
705704
return E_INVALIDARG;
706705

707-
std::wstring full_text = fml::Utf16ToWideString(GetString(max_count));
706+
std::wstring full_text = base::UTF16ToWide(GetString(max_count));
708707
if (!full_text.empty()) {
709708
size_t length = full_text.length();
710709

0 commit comments

Comments
 (0)