Migrating ICU from 71 to 72
ICU72 release note https://icu.unicode.org/download/72
CLDR42 release note https://cldr.unicode.org/index/downloads/cldr-42
Unicode15 release note https://blog.unicode.org/2022/09/announcing-unicode-standard-version-150.html
Changing test expectation:
1. Use THIN SPACE (U+202F) for the space before "AM/PM" in
date formatting.
2. Bidi control code around some dash in date format output. Change the space around – \u2013 U+2013 "En Dash" from ASCII SPACE to \u2009 "Thin Space"
3. @ is now consider part of a word.
ICU 72 migration diary
https://docs.google.com/document/d/1bzme4zR_swaqMoJIYLL9wwk-rsjdAdjGrU073h0TJbo
Ref about 2009 https://www.compart.com/en/unicode/U+2009
Ref about 202f https://www.compart.com/en/unicode/U+202f
Size Impact due to increase of more unicode characters and localized patterns:
- Fuchsia web_engine +16384 bytes compressed
- Fuchsia chrome_fuchsia +24576 bytes compressed
- Android Normalized APK Size: +107854 bytes
Bug: 1371208
Binary-Size: Size increase is unavoidable (see above).
Fuchsia-Binary-Size: Size increase is unavoidable.
Change-Id: Ic8dccaceecbf348e74880286d903320ab6983541
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3995549
Reviewed-by: Orin Jaworski <orinj@chromium.org>
Reviewed-by: Daniel Libby <dlibby@microsoft.com>
Reviewed-by: Luca Hunkeler <hluca@google.com>
Reviewed-by: Kent Tamura <tkent@chromium.org>
Reviewed-by: Peter Marshall <petermarshall@chromium.org>
Commit-Queue: Frank Tang <ftang@chromium.org>
Reviewed-by: Pavol Marko <pmarko@chromium.org>
Reviewed-by: Jungshik Shin <jshin@chromium.org>
Reviewed-by: Thanh Nguyen <thanhdng@chromium.org>
Reviewed-by: Richard Chui <richui@chromium.org>
Reviewed-by: Toni Barzic <tbarzic@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
Auto-Submit: Frank Tang <ftang@chromium.org>
Reviewed-by: Kyle Horimoto <khorimoto@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1073687}
diff --git a/DEPS b/DEPS
index 6c99ee5f..85ad614 100644
--- a/DEPS
+++ b/DEPS
@@ -1404,7 +1404,7 @@
Var('chromium_git') + '/chromium/deps/hunspell_dictionaries.git' + '@' + '41cdffd71c9948f63c7ad36e1fb0ff519aa7a37e',
'src/third_party/icu':
- Var('chromium_git') + '/chromium/deps/icu.git' + '@' + 'da07448619763d1cde255b361324242646f5b268',
+ Var('chromium_git') + '/chromium/deps/icu.git' + '@' + '1b7d391f0528fb3a4976b7541b387ee04f915f83',
'src/third_party/icu4j': {
'packages': [
diff --git a/ash/glanceables/glanceables_unittests.cc b/ash/glanceables/glanceables_unittests.cc
index 9d7ff438..967457f 100644
--- a/ash/glanceables/glanceables_unittests.cc
+++ b/ash/glanceables/glanceables_unittests.cc
@@ -346,7 +346,7 @@
GlanceablesUpNextEventItemView view(CreateTestEvent());
EXPECT_EQ(view.event_title_label_for_test()->GetText(), u"Test event 123");
- EXPECT_EQ(view.event_time_label_for_test()->GetText(), u"6:00 PM");
+ EXPECT_EQ(view.event_time_label_for_test()->GetText(), u"6:00\u202fPM");
}
TEST_F(GlanceablesTest, UpNextEventItemViewRendersCorrectlyIn24HrClockFormat) {
diff --git a/ash/login/ui/lock_contents_view_unittest.cc b/ash/login/ui/lock_contents_view_unittest.cc
index 75d13f1..a0fdab0 100644
--- a/ash/login/ui/lock_contents_view_unittest.cc
+++ b/ash/login/ui/lock_contents_view_unittest.cc
@@ -2159,9 +2159,9 @@
base::Hours(1), true /*disable_lock_screen_media*/));
EXPECT_FALSE(password_view->GetVisible());
EXPECT_FALSE(pin_view->GetVisible());
- EXPECT_EQ(
- l10n_util::GetStringFUTF16(IDS_ASH_LOGIN_COME_BACK_MESSAGE, u"8:00 AM"),
- auth_test_api.GetDisabledAuthMessageContent());
+ EXPECT_EQ(l10n_util::GetStringFUTF16(IDS_ASH_LOGIN_COME_BACK_MESSAGE,
+ u"8:00\u202fAM"),
+ auth_test_api.GetDisabledAuthMessageContent());
// Setting auth disabled due to time usage limit.
DataDispatcher()->DisableAuthForUser(
kFirstUserAccountId,
diff --git a/ash/system/power/adaptive_charging_notification_controller_unittest.cc b/ash/system/power/adaptive_charging_notification_controller_unittest.cc
index 797aee4..e2cc30c 100644
--- a/ash/system/power/adaptive_charging_notification_controller_unittest.cc
+++ b/ash/system/power/adaptive_charging_notification_controller_unittest.cc
@@ -122,7 +122,8 @@
// Current local time is 12:42 pm, so 5 hours after should be 5:30pm (rounding
// from 5:42pm).
- EXPECT_NE(notification->message().find(u"5:30 pm"), std::u16string::npos);
+ EXPECT_NE(notification->message().find(u"5:30\u202fpm"),
+ std::u16string::npos);
}
TEST_F(AdaptiveChargingNotificationControllerTest, TimeRoundingUpTest) {
@@ -152,7 +153,8 @@
// Current local time is 12:45 pm, so 5 hours after should be 6:00pm (rounding
// from 5:45pm).
- EXPECT_NE(notification->message().find(u"6:00 pm"), std::u16string::npos);
+ EXPECT_NE(notification->message().find(u"6:00\u202fpm"),
+ std::u16string::npos);
}
TEST_F(AdaptiveChargingNotificationControllerTest,
diff --git a/ash/system/time/calendar_event_list_item_view_jelly_unittest.cc b/ash/system/time/calendar_event_list_item_view_jelly_unittest.cc
index 4820269..8545983 100644
--- a/ash/system/time/calendar_event_list_item_view_jelly_unittest.cc
+++ b/ash/system/time/calendar_event_list_item_view_jelly_unittest.cc
@@ -112,12 +112,13 @@
const views::Label* summary_label = GetSummaryLabel();
const views::Label* time_label = GetTimeLabel();
EXPECT_EQ(u"summary_0", summary_label->GetText());
- EXPECT_EQ(u"9:00 \x2013 10:00 AM", time_label->GetText());
- EXPECT_EQ(u"summary_0, 9:00 \x2013 10:00 AM",
+ EXPECT_EQ(u"9:00\u2009\x2013\u200910:00\u202fAM", time_label->GetText());
+ EXPECT_EQ(u"summary_0, 9:00\u2009\x2013\u200910:00\u202fAM",
summary_label->GetTooltipText());
- EXPECT_EQ(u"summary_0, 9:00 \x2013 10:00 AM", time_label->GetTooltipText());
+ EXPECT_EQ(u"summary_0, 9:00\u2009\x2013\u200910:00\u202fAM",
+ time_label->GetTooltipText());
EXPECT_EQ(
- u"9:00 AM to\n 10:00 AM,\n GMT+02:00,\n "
+ u"9:00\u202fAM to\n 10:00\u202fAM,\n GMT+02:00,\n "
u"summary_0. Select for more details in Google Calendar.",
event_list_item_view()->GetAccessibleName());
}
diff --git a/ash/system/time/calendar_event_list_view_unittest.cc b/ash/system/time/calendar_event_list_view_unittest.cc
index 1c25a77..6e709f2 100644
--- a/ash/system/time/calendar_event_list_view_unittest.cc
+++ b/ash/system/time/calendar_event_list_view_unittest.cc
@@ -217,12 +217,12 @@
CreateEventListView(date);
SetSelectedDate(date);
- EXPECT_EQ(u"8:30 – 9:30 PM", GetTimeRange(0)->GetText());
- EXPECT_EQ(u"11:30 – 11:59 PM", GetTimeRange(1)->GetText());
+ EXPECT_EQ(u"8:30\u2009–\u20099:30\u202fPM", GetTimeRange(0)->GetText());
+ EXPECT_EQ(u"11:30\u2009–\u200911:59\u202fPM", GetTimeRange(1)->GetText());
// Select the second day of the multi-day event.
SetSelectedDate(date_2);
- EXPECT_EQ(u"12:00 – 12:30 AM", GetTimeRange(0)->GetText());
+ EXPECT_EQ(u"12:00\u2009–\u200912:30\u202fAM", GetTimeRange(0)->GetText());
// Set the time in 24 hour format.
Shell::Get()->system_tray_model()->SetUse24HourClock(true);
@@ -231,11 +231,11 @@
CreateEventListView(date);
SetSelectedDate(date);
- EXPECT_EQ(u"20:30 – 21:30", GetTimeRange(0)->GetText());
- EXPECT_EQ(u"23:30 – 23:59", GetTimeRange(1)->GetText());
+ EXPECT_EQ(u"20:30\u2009–\u200921:30", GetTimeRange(0)->GetText());
+ EXPECT_EQ(u"23:30\u2009–\u200923:59", GetTimeRange(1)->GetText());
SetSelectedDate(date_2);
- EXPECT_EQ(u"00:00 – 00:30", GetTimeRange(0)->GetText());
+ EXPECT_EQ(u"00:00\u2009–\u200900:30", GetTimeRange(0)->GetText());
}
TEST_F(CalendarViewEventListViewTest, RefreshEvents) {
diff --git a/ash/system/time/calendar_utils_unittest.cc b/ash/system/time/calendar_utils_unittest.cc
index f1a9c60..96fe3ac2 100644
--- a/ash/system/time/calendar_utils_unittest.cc
+++ b/ash/system/time/calendar_utils_unittest.cc
@@ -109,9 +109,9 @@
ASSERT_TRUE(base::Time::FromString("1 Aug 2021 00:00 GMT", &midnight));
// Return time in twelve hour clock format. (no '0' padding)
- EXPECT_EQ(u"9:05 AM", calendar_utils::GetTwelveHourClockTime(am_time));
- EXPECT_EQ(u"11:30 PM", calendar_utils::GetTwelveHourClockTime(pm_time));
- EXPECT_EQ(u"12:00 AM", calendar_utils::GetTwelveHourClockTime(midnight));
+ EXPECT_EQ(u"9:05\u202fAM", calendar_utils::GetTwelveHourClockTime(am_time));
+ EXPECT_EQ(u"11:30\u202fPM", calendar_utils::GetTwelveHourClockTime(pm_time));
+ EXPECT_EQ(u"12:00\u202fAM", calendar_utils::GetTwelveHourClockTime(midnight));
// Return time in twenty four hour clock format. (has '0' padding)
EXPECT_EQ(u"09:05", calendar_utils::GetTwentyFourHourClockTime(am_time));
@@ -225,18 +225,18 @@
ash::system::ScopedTimezoneSettings timezone_settings(u"GMT");
- EXPECT_EQ(u"10:00 – 11:30 AM",
+ EXPECT_EQ(u"10:00\u2009–\u200911:30\u202fAM",
calendar_utils::FormatTwelveHourClockTimeInterval(date1, date2));
- EXPECT_EQ(u"10:00 AM – 3:49 PM",
+ EXPECT_EQ(u"10:00\u202fAM\u2009–\u20093:49\u202fPM",
calendar_utils::FormatTwelveHourClockTimeInterval(date1, date3));
EXPECT_EQ(
- u"10:00 – 11:30",
+ u"10:00\u2009–\u200911:30",
calendar_utils::FormatTwentyFourHourClockTimeInterval(date1, date2));
EXPECT_EQ(
- u"10:00 – 15:49",
+ u"10:00\u2009–\u200915:49",
calendar_utils::FormatTwentyFourHourClockTimeInterval(date1, date3));
}
diff --git a/ash/system/time/date_helper_unittest.cc b/ash/system/time/date_helper_unittest.cc
index 1f9057a..e5a3561a 100644
--- a/ash/system/time/date_helper_unittest.cc
+++ b/ash/system/time/date_helper_unittest.cc
@@ -44,13 +44,13 @@
SetDefaultLocale("zh-CN");
std::vector<std::u16string> week_titles =
DateHelper::GetInstance()->week_titles();
- EXPECT_EQ(u"日", week_titles[0]); // Sunday
- EXPECT_EQ(u"一", week_titles[1]); // Monday
- EXPECT_EQ(u"二", week_titles[2]); // Tuesday
- EXPECT_EQ(u"三", week_titles[3]); // Wednesday
- EXPECT_EQ(u"四", week_titles[4]); // Thursday
- EXPECT_EQ(u"五", week_titles[5]); // Friday
- EXPECT_EQ(u"六", week_titles[6]); // Saturday
+ EXPECT_EQ(u"一", week_titles[0]); // Monday
+ EXPECT_EQ(u"二", week_titles[1]); // Tuesday
+ EXPECT_EQ(u"三", week_titles[2]); // Wednesday
+ EXPECT_EQ(u"四", week_titles[3]); // Thursday
+ EXPECT_EQ(u"五", week_titles[4]); // Friday
+ EXPECT_EQ(u"六", week_titles[5]); // Saturday
+ EXPECT_EQ(u"日", week_titles[6]); // Sunday
SetDefaultLocale("ar");
week_titles = DateHelper::GetInstance()->week_titles();
@@ -103,10 +103,12 @@
ASSERT_TRUE(base::Time::FromString("22 Nov 2021 22:30 GMT", &date3));
SetDefaultLocale("en_US");
- EXPECT_EQ(u"10:00 – 11:45 AM", Format12HrClockInterval(date1, date2));
- EXPECT_EQ(u"10:00 AM – 10:30 PM", Format12HrClockInterval(date1, date3));
- EXPECT_EQ(u"10:00 – 11:45", Format24HrClockInterval(date1, date2));
- EXPECT_EQ(u"10:00 – 22:30", Format24HrClockInterval(date1, date3));
+ EXPECT_EQ(u"10:00\u2009–\u200911:45\u202fAM",
+ Format12HrClockInterval(date1, date2));
+ EXPECT_EQ(u"10:00\u202fAM\u2009–\u200910:30\u202fPM",
+ Format12HrClockInterval(date1, date3));
+ EXPECT_EQ(u"10:00\u2009–\u200911:45", Format24HrClockInterval(date1, date2));
+ EXPECT_EQ(u"10:00\u2009–\u200922:30", Format24HrClockInterval(date1, date3));
SetDefaultLocale("zh_Hant");
EXPECT_EQ(u"上午10:00至11:45", Format12HrClockInterval(date1, date2));
diff --git a/ash/system/time/event_date_formatter_util_unittest.cc b/ash/system/time/event_date_formatter_util_unittest.cc
index 77e0224..1fb060c7 100644
--- a/ash/system/time/event_date_formatter_util_unittest.cc
+++ b/ash/system/time/event_date_formatter_util_unittest.cc
@@ -63,8 +63,8 @@
event_date_formatter_util::GetStartAndEndTimeAccessibleNames(start_time,
end_time);
- EXPECT_EQ(actual_start, u"3:30 PM");
- EXPECT_EQ(actual_end, u"4:30 PM");
+ EXPECT_EQ(actual_start, u"3:30\u202fPM");
+ EXPECT_EQ(actual_end, u"4:30\u202fPM");
}
TEST_F(EventDateFormatterUtilTest, GetFormattedInterval_12HourClock) {
@@ -81,7 +81,7 @@
event_date_formatter_util::GetFormattedInterval(start_time, end_time);
// \x2013 is unicode for dash i.e. '-'
- EXPECT_EQ(actual, u"3:30 \x2013 4:30 PM");
+ EXPECT_EQ(actual, u"3:30\u2009\x2013\u20094:30\u202fPM");
}
TEST_F(EventDateFormatterUtilTest, GetFormattedInterval_24HourClock) {
@@ -98,7 +98,7 @@
event_date_formatter_util::GetFormattedInterval(start_time, end_time);
// \x2013 is unicode for dash i.e. '-'
- EXPECT_EQ(actual, u"15:30 \x2013 16:30");
+ EXPECT_EQ(actual, u"15:30\u2009\x2013\u200916:30");
}
class EventDateFormatterAllDayEventTest
@@ -171,28 +171,28 @@
testing::Values(
MultiDayEventTestParams{
"22 Nov 2021 09:00 GMT", "24 Nov 2021 09:00 GMT",
- "22 Nov 2021 00:00 UTC", u"Starts at 10:00 AM (Day 1/3)"},
+ "22 Nov 2021 00:00 UTC", u"Starts at 10:00\u202fAM (Day 1/3)"},
MultiDayEventTestParams{
"22 Nov 2021 09:00 GMT", "24 Nov 2021 09:00 GMT",
- "23 Nov 2021 00:00 UTC", u"Starts at 10:00 AM (Day 2/3)"},
+ "23 Nov 2021 00:00 UTC", u"Starts at 10:00\u202fAM (Day 2/3)"},
MultiDayEventTestParams{
"22 Nov 2021 09:00 GMT", "24 Nov 2021 09:00 GMT",
- "24 Nov 2021 00:00 UTC", u"Ends at 10:00 AM (Day 3/3)"},
+ "24 Nov 2021 00:00 UTC", u"Ends at 10:00\u202fAM (Day 3/3)"},
// Test edge case where a multi-day event falls into a single day in the
// right timezone.
MultiDayEventTestParams{
"22 Nov 2021 23:00 GMT", "23 Nov 2021 23:00 GMT",
- "23 Nov 2021 00:00 UTC", u"Starts at 12:00 AM (Day 1/1)"},
+ "23 Nov 2021 00:00 UTC", u"Starts at 12:00\u202fAM (Day 1/1)"},
// Test where a 2 hour event spans multiple days depending on timezone,
// day 1.
MultiDayEventTestParams{
"22 Nov 2021 22:00 GMT", "23 Nov 2021 00:00 GMT",
- "22 Nov 2021 00:00 UTC", u"Starts at 11:00 PM (Day 1/2)"},
+ "22 Nov 2021 00:00 UTC", u"Starts at 11:00\u202fPM (Day 1/2)"},
// Test where a 2 hour event spans multiple days depending on timezone,
// day 2.
MultiDayEventTestParams{
"22 Nov 2021 22:00 GMT", "23 Nov 2021 00:00 GMT",
- "23 Nov 2021 00:00 UTC", u"Ends at 1:00 AM (Day 2/2)"}));
+ "23 Nov 2021 00:00 UTC", u"Ends at 1:00\u202fAM (Day 2/2)"}));
TEST_P(EventDateFormatterMultiDayEventTest, GetMultiDayText_MultiDayEvent) {
const char* start_time_string = GetStartTimeString();
diff --git a/ash/system/time/time_of_day_unittest.cc b/ash/system/time/time_of_day_unittest.cc
index 694a5fc..2da5a79 100644
--- a/ash/system/time/time_of_day_unittest.cc
+++ b/ash/system/time/time_of_day_unittest.cc
@@ -35,17 +35,26 @@
// 6:32 PM ==> 18:32.
TimeOfDay time1(18 * 60 + 32);
- EXPECT_EQ("6:32 PM", time1.ToString());
+ EXPECT_EQ("6:32\xE2\x80\xAFPM", time1.ToString());
// 9:59 AM.
TimeOfDay time2(9 * 60 + 59);
- EXPECT_EQ("9:59 AM", time2.ToString());
+ EXPECT_EQ(
+ "9:59\xE2\x80\xAF"
+ "AM",
+ time2.ToString());
// Border times: 00:00 and 24:00.
TimeOfDay time3(0);
TimeOfDay time4(24 * 60);
- EXPECT_EQ("12:00 AM", time3.ToString());
- EXPECT_EQ("12:00 AM", time4.ToString());
+ EXPECT_EQ(
+ "12:00\xE2\x80\xAF"
+ "AM",
+ time3.ToString());
+ EXPECT_EQ(
+ "12:00\xE2\x80\xAF"
+ "AM",
+ time4.ToString());
}
TEST(TimeOfDayTest, TestFromTime) {
diff --git a/ash/wm/desks/templates/saved_desk_unittest.cc b/ash/wm/desks/templates/saved_desk_unittest.cc
index 6b8a530..8f7dc5d 100644
--- a/ash/wm/desks/templates/saved_desk_unittest.cc
+++ b/ash/wm/desks/templates/saved_desk_unittest.cc
@@ -3438,9 +3438,12 @@
};
// The expected time string for each template.
const std::vector<std::u16string> expected_timestr = {
- u"Jan 1, 2022, 10:30 AM",
- u"Today 10:30 AM",
- u"Yesterday 10:30 AM",
+ u"Jan 1, 2022, 10:30\u202f"
+ "AM",
+ u"Today 10:30\u202f"
+ "AM",
+ u"Yesterday 10:30\u202f"
+ "AM",
};
std::vector<base::Time> time = {
time_long_ago,
diff --git a/base/i18n/time_formatting_unittest.cc b/base/i18n/time_formatting_unittest.cc
index 57bfbaf..6967df8 100644
--- a/base/i18n/time_formatting_unittest.cc
+++ b/base/i18n/time_formatting_unittest.cc
@@ -76,7 +76,7 @@
Time time;
EXPECT_TRUE(Time::FromUTCExploded(kTestDateTimeExploded, &time));
std::u16string clock24h(u"15:42");
- std::u16string clock12h_pm(u"3:42 PM");
+ std::u16string clock12h_pm(u"3:42\u202fPM");
std::u16string clock12h(u"3:42");
std::u16string clock24h_millis(u"15:42:07.000");
@@ -114,7 +114,7 @@
Time time;
EXPECT_TRUE(Time::FromUTCExploded(kTestDateTimeExploded, &time));
std::u16string clock24h(u"15:42");
- std::u16string clock12h_pm(u"3:42 pm");
+ std::u16string clock12h_pm(u"3:42\u202fpm");
std::u16string clock12h(u"3:42");
std::u16string clock24h_millis(u"15:42:07.000");
@@ -179,7 +179,7 @@
Time time;
EXPECT_TRUE(Time::FromUTCExploded(kTestDateTimeExploded, &time));
std::u16string clock24h(u"15:42");
- std::u16string clock12h_pm(u"3:42 PM");
+ std::u16string clock12h_pm(u"3:42\u202fPM");
std::u16string clock12h(u"3:42");
// The default is 24h clock.
@@ -244,13 +244,13 @@
EXPECT_EQ(u"Apr 30, 2011", TimeFormatShortDate(time));
EXPECT_EQ(u"4/30/11", TimeFormatShortDateNumeric(time));
- EXPECT_EQ(u"4/30/11, 3:42:07 PM", TimeFormatShortDateAndTime(time));
- EXPECT_EQ(u"4/30/11, 3:42:07 PM " + GetShortTimeZone(time),
+ EXPECT_EQ(u"4/30/11, 3:42:07\u202fPM", TimeFormatShortDateAndTime(time));
+ EXPECT_EQ(u"4/30/11, 3:42:07\u202fPM " + GetShortTimeZone(time),
TimeFormatShortDateAndTimeWithTimeZone(time));
EXPECT_EQ(u"April 2011", TimeFormatMonthAndYear(time));
- EXPECT_EQ(u"Saturday, April 30, 2011 at 3:42:07 PM",
+ EXPECT_EQ(u"Saturday, April 30, 2011 at 3:42:07\u202fPM",
TimeFormatFriendlyDateAndTime(time));
EXPECT_EQ(u"Saturday, April 30, 2011", TimeFormatFriendlyDate(time));
@@ -286,7 +286,7 @@
i18n::SetICUDefaultLocale("en_US");
EXPECT_EQ(u"Apr 30, 2011", TimeFormatWithPattern(time, "yMMMd"));
- EXPECT_EQ(u"April 30 at 3:42:07 PM",
+ EXPECT_EQ(u"April 30 at 3:42:07\u202fPM",
TimeFormatWithPattern(time, "MMMMdjmmss"));
i18n::SetICUDefaultLocale("en_GB");
@@ -405,7 +405,7 @@
EXPECT_TRUE(Time::FromUTCExploded(kTestIntervalEndTimeExploded, &end_time));
EXPECT_EQ(
- u"Saturday, April 30 – Saturday, May 28",
+ u"Saturday, April 30\u2009–\u2009Saturday, May 28",
DateIntervalFormat(begin_time, end_time, DATE_FORMAT_MONTH_WEEKDAY_DAY));
const Time::Exploded kTestIntervalBeginTimeExploded = {
@@ -415,12 +415,12 @@
EXPECT_TRUE(
Time::FromUTCExploded(kTestIntervalBeginTimeExploded, &begin_time));
EXPECT_EQ(
- u"Monday, May 16 – Saturday, May 28",
+ u"Monday, May 16\u2009–\u2009Saturday, May 28",
DateIntervalFormat(begin_time, end_time, DATE_FORMAT_MONTH_WEEKDAY_DAY));
i18n::SetICUDefaultLocale("en_GB");
EXPECT_EQ(
- u"Monday 16 May – Saturday 28 May",
+ u"Monday 16\u2009–\u2009Saturday 28 May",
DateIntervalFormat(begin_time, end_time, DATE_FORMAT_MONTH_WEEKDAY_DAY));
i18n::SetICUDefaultLocale("ja");
diff --git a/chrome/browser/resources/chromeos/set_time_dialog/set_time_dialog.js b/chrome/browser/resources/chromeos/set_time_dialog/set_time_dialog.js
index e91c4a8..22c973bd5 100644
--- a/chrome/browser/resources/chromeos/set_time_dialog/set_time_dialog.js
+++ b/chrome/browser/resources/chromeos/set_time_dialog/set_time_dialog.js
@@ -98,7 +98,9 @@
* @return {Date} The converted time.
*/
function getDateInTimezone(timezoneId) {
- return new Date(new Date().toLocaleString('en-US', {timeZone: timezoneId}));
+ return new Date(new Date()
+ .toLocaleString('en-US', {timeZone: timezoneId})
+ .replace('\u202f', ' '));
}
/**
diff --git a/chrome/browser/ui/ash/device_scheduled_reboot/reboot_notification_controller_unittest.cc b/chrome/browser/ui/ash/device_scheduled_reboot/reboot_notification_controller_unittest.cc
index eaba240..a0acba95 100644
--- a/chrome/browser/ui/ash/device_scheduled_reboot/reboot_notification_controller_unittest.cc
+++ b/chrome/browser/ui/ash/device_scheduled_reboot/reboot_notification_controller_unittest.cc
@@ -139,9 +139,9 @@
notification_controller_.MaybeShowPendingRebootNotification(
reboot_time, base::NullCallback());
EXPECT_NE(absl::nullopt, GetPendingRebootNotification());
- EXPECT_EQ(
- GetPendingRebootNotification()->message(),
- u"Your administrator will restart your device at 3:20 PM on Feb 2, 2022");
+ EXPECT_EQ(GetPendingRebootNotification()->message(),
+ u"Your administrator will restart your device at 3:20\u202fPM on "
+ u"Feb 2, 2022");
// Show post reboot notification.
notification_controller_.MaybeShowPostRebootNotification();
@@ -170,18 +170,19 @@
notification_controller_.MaybeShowPendingRebootNotification(
reboot_time1, base::NullCallback());
EXPECT_NE(absl::nullopt, GetPendingRebootNotification());
- EXPECT_EQ(
- GetPendingRebootNotification()->message(),
- u"Your administrator will restart your device at 3:20 PM on Feb 2, 2022");
+ EXPECT_EQ(GetPendingRebootNotification()->message(),
+ u"Your administrator will restart your device at 3:20\u202fPM on "
+ u"Feb 2, 2022");
EXPECT_EQ(GetTransientNotificationCount(), 1);
// Change reboot time. Close old notification and show new one.
notification_controller_.MaybeShowPendingRebootNotification(
reboot_time2, base::NullCallback());
EXPECT_NE(absl::nullopt, GetPendingRebootNotification());
- EXPECT_EQ(GetPendingRebootNotification()->message(),
- u"Your administrator will restart your device at 11:15 AM on May "
- u"15, 2023");
+ EXPECT_EQ(
+ GetPendingRebootNotification()->message(),
+ u"Your administrator will restart your device at 11:15\u202fAM on May "
+ u"15, 2023");
EXPECT_EQ(GetTransientNotificationCount(), 1);
}
@@ -204,9 +205,9 @@
notification_controller_.MaybeShowPendingRebootNotification(
reboot_time, base::NullCallback());
EXPECT_NE(absl::nullopt, GetPendingRebootNotification());
- EXPECT_EQ(
- GetPendingRebootNotification()->message(),
- u"Your administrator will restart your device at 3:20 PM on Feb 2, 2022");
+ EXPECT_EQ(GetPendingRebootNotification()->message(),
+ u"Your administrator will restart your device at 3:20\u202fPM on "
+ u"Feb 2, 2022");
// Show post reboot notification.
notification_controller_.MaybeShowPostRebootNotification();
@@ -279,4 +280,4 @@
// Click on notification button and run callback.
notification.delegate()->Click(0, absl::nullopt);
EXPECT_EQ(counter.clicks, 1);
-}
\ No newline at end of file
+}
diff --git a/chrome/browser/ui/webui/identity_internals_ui_browsertest.js b/chrome/browser/ui/webui/identity_internals_ui_browsertest.js
index e486a83..ff4239b0 100644
--- a/chrome/browser/ui/webui/identity_internals_ui_browsertest.js
+++ b/chrome/browser/ui/webui/identity_internals_ui_browsertest.js
@@ -48,7 +48,7 @@
// Full-date format has 'at' between date and time in en-US, but
// ECMAScript's Date.parse cannot grok it.
return Date.parse(tokenEntry.shadowRoot.querySelector('.expiration-time')
- .innerText.replace(' at ', ' '));
+ .innerText.replace(' at ', ' ').replace('\u202f', ' '));
},
/**
@@ -186,7 +186,7 @@
assertEquals(this.getExpirationTime(tokenListEntries[0]),
Date.parse(
tokenListEntries[0].shadowRoot.querySelector('.expiration-time')
- .innerText.replace(' at ', ' ')));
+ .innerText.replace(' at ', ' ').replace('\u202f', ' ')));
const scopes =
tokenListEntries[0].shadowRoot.querySelector('.scope-list')
.innerHTML.split('<br>');
diff --git a/chrome/test/data/pdf/viewer_properties_dialog_test.ts b/chrome/test/data/pdf/viewer_properties_dialog_test.ts
index c44f500..a0dac20 100644
--- a/chrome/test/data/pdf/viewer_properties_dialog_test.ts
+++ b/chrome/test/data/pdf/viewer_properties_dialog_test.ts
@@ -46,8 +46,8 @@
['author', 'Chromium Authors'],
['subject', 'Testing'],
['keywords', 'testing,chromium,pdfium,document,info'],
- ['created', '2/5/20, 7:39:12 AM'],
- ['modified', '2/6/20, 1:42:34 AM'],
+ ['created', '2/5/20, 7:39:12\u202fAM'],
+ ['modified', '2/6/20, 1:42:34\u202fAM'],
['application', 'Your Preferred Text Editor'],
['pdf-producer', 'fixup_pdf_template.py'],
['pdf-version', '1.7'],
diff --git a/chromeos/ash/components/policy/weekly_time/time_utils_unittest.cc b/chromeos/ash/components/policy/weekly_time/time_utils_unittest.cc
index 1307ae8c..9cee4af 100644
--- a/chromeos/ash/components/policy/weekly_time/time_utils_unittest.cc
+++ b/chromeos/ash/components/policy/weekly_time/time_utils_unittest.cc
@@ -96,7 +96,7 @@
base::i18n::SetICUDefaultLocale("en_US");
icu::TimeZone::adoptDefault(
icu::TimeZone::createTimeZone("America/Los_Angeles"));
- EXPECT_EQ(u"Friday 8:50 AM",
+ EXPECT_EQ(u"Friday 8:50\u202fAM",
WeeklyTimeToLocalizedString(test_weekly_time, &test_clock_));
base::i18n::SetICUDefaultLocale("de_DE");
@@ -121,7 +121,7 @@
base::i18n::SetICUDefaultLocale("en_US");
icu::TimeZone::adoptDefault(
icu::TimeZone::createTimeZone("America/Los_Angeles"));
- EXPECT_EQ(u"Friday 7:50 AM",
+ EXPECT_EQ(u"Friday 7:50\u202fAM",
WeeklyTimeToLocalizedString(test_weekly_time, &test_clock_));
}
diff --git a/chromeos/ash/components/string_matching/tokenized_string_char_iterator_unittest.cc b/chromeos/ash/components/string_matching/tokenized_string_char_iterator_unittest.cc
index a3ef837..e4b17d0 100644
--- a/chromeos/ash/components/string_matching/tokenized_string_char_iterator_unittest.cc
+++ b/chromeos/ash/components/string_matching/tokenized_string_char_iterator_unittest.cc
@@ -91,7 +91,7 @@
TestNextToken(text, "");
TestFirstTwoCharInEveryToken(text, "");
- text = "!@#$%^&*()<<<**>>>";
+ text = "!#$%^&*()<<<**>>>";
TestEveryChar(text, "");
TestNextToken(text, "");
TestFirstTwoCharInEveryToken(text, "");
diff --git a/chromeos/ash/components/string_matching/tokenized_string_unittest.cc b/chromeos/ash/components/string_matching/tokenized_string_unittest.cc
index d4343f0..a1f15b5 100644
--- a/chromeos/ash/components/string_matching/tokenized_string_unittest.cc
+++ b/chromeos/ash/components/string_matching/tokenized_string_unittest.cc
@@ -95,7 +95,7 @@
EXPECT_EQ(u"faxing{0,6} signing{9,16}", GetContent(token_words));
}
{
- std::u16string text(u"!@#$%^&*()<<<**>>>");
+ std::u16string text(u"!#$%^&*()<<<**>>>");
TokenizedString tokens(text);
EXPECT_EQ(u"", GetContent(tokens));
TokenizedString token_words(text, TokenizedString::Mode::kWords);
diff --git a/components/autofill_assistant/browser/details_unittest.cc b/components/autofill_assistant/browser/details_unittest.cc
index 5764b9c..50ca616 100644
--- a/components/autofill_assistant/browser/details_unittest.cc
+++ b/components/autofill_assistant/browser/details_unittest.cc
@@ -274,7 +274,7 @@
25, 15, 16, 0);
EXPECT_TRUE(Details::UpdateFromProto(proto_date, &details));
EXPECT_THAT(details.descriptionLine1(),
- Eq("3:16 PM \xE2\x80\xA2 Wed, Sep 25"));
+ Eq("3:16\xE2\x80\xAFPM \xE2\x80\xA2 Wed, Sep 25"));
base::i18n::SetICUDefaultLocale("de_DE");
ShowDetailsProto proto_date_de;
@@ -282,7 +282,7 @@
25, 15, 16, 0);
EXPECT_TRUE(Details::UpdateFromProto(proto_date, &details));
EXPECT_THAT(details.descriptionLine1(),
- Eq("3:16 PM \xE2\x80\xA2 Mi., 25. Sept."));
+ Eq("3:16\xE2\x80\xAFPM \xE2\x80\xA2 Mi., 25. Sept."));
ShowDetailsProto proto_empty;
proto_empty.mutable_details()->set_title("title");
diff --git a/components/omnibox/browser/document_provider_unittest.cc b/components/omnibox/browser/document_provider_unittest.cc
index 85e51925..2df90e91 100644
--- a/components/omnibox/browser/document_provider_unittest.cc
+++ b/components/omnibox/browser/document_provider_unittest.cc
@@ -770,7 +770,7 @@
// ISO8601 UTC timestamp strings since the service returns them in practice.
EXPECT_EQ(DocumentProvider::GenerateLastModifiedString(
base::TimeToISO8601(modified_today), local_now),
- u"2:18 AM");
+ u"2:18\u202FAM");
EXPECT_EQ(DocumentProvider::GenerateLastModifiedString(
base::TimeToISO8601(modified_this_year), local_now),
u"Aug 19");
diff --git a/components/omnibox/browser/in_memory_url_index_types_unittest.cc b/components/omnibox/browser/in_memory_url_index_types_unittest.cc
index f720c60..a012509 100644
--- a/components/omnibox/browser/in_memory_url_index_types_unittest.cc
+++ b/components/omnibox/browser/in_memory_url_index_types_unittest.cc
@@ -57,7 +57,7 @@
string_vec = String16VectorFromString16(string_b, &actual_starts_b);
ASSERT_EQ(8U, string_vec.size());
// Note that we stop collecting words and word starts at kMaxSignificantChars.
- size_t expected_starts_b[] = {1, 7, 16, 22, 32, 43, 52, 55};
+ size_t expected_starts_b[] = {1, 7, 16, 21, 32, 43, 52, 55};
EXPECT_TRUE(IntArraysEqual(expected_starts_b, std::size(expected_starts_b),
actual_starts_b));
diff --git a/content/test/data/accessibility/html/input-time-expected-blink.txt b/content/test/data/accessibility/html/input-time-expected-blink.txt
index 7d8ab7f..7f6e497 100644
--- a/content/test/data/accessibility/html/input-time-expected-blink.txt
+++ b/content/test/data/accessibility/html/input-time-expected-blink.txt
@@ -34,4 +34,4 @@
++++++++++++spinButton name='AM/PM Breakfast' placeholder='--' value='AM' valueForRange=1.00 minValueForRange=1.00 maxValueForRange=2.00
++++++++++++++staticText name='AM'
++++++++++++++++inlineTextBox name='AM'
-++++++++popUpButton name='Show time picker'
+++++++++popUpButton name='Show time picker'
\ No newline at end of file
diff --git a/content/test/data/accessibility/html/interactive-controls-with-labels-expected-auralinux.txt b/content/test/data/accessibility/html/interactive-controls-with-labels-expected-auralinux.txt
index 2601726d..a2e8747 100644
--- a/content/test/data/accessibility/html/interactive-controls-with-labels-expected-auralinux.txt
+++ b/content/test/data/accessibility/html/interactive-controls-with-labels-expected-auralinux.txt
@@ -48,4 +48,4 @@
++++++++[spin button] name='AM/PM Test label' labelled-by current=2.000000 minimum=1.000000 maximum=2.000000
++++[push button] name='Show time picker'
++[push button] name='aria label'
-++[push button] name='Test label' labelled-by
\ No newline at end of file
+++[push button] name='Test label' labelled-by
diff --git a/pdf/pdf_view_web_plugin_unittest.cc b/pdf/pdf_view_web_plugin_unittest.cc
index 1620796..bb1ef7fb 100644
--- a/pdf/pdf_view_web_plugin_unittest.cc
+++ b/pdf/pdf_view_web_plugin_unittest.cc
@@ -1785,8 +1785,12 @@
metadata.Set("keywords", "Keywords");
metadata.Set("creator", "Creator");
metadata.Set("producer", "Producer");
- metadata.Set("creationDate", "5/4/21, 4:12:13 AM");
- metadata.Set("modDate", "6/4/21, 8:16:17 AM");
+ metadata.Set("creationDate",
+ "5/4/21, 4:12:13\xE2\x80\xAF"
+ "AM");
+ metadata.Set("modDate",
+ "6/4/21, 8:16:17\xE2\x80\xAF"
+ "AM");
metadata.Set("pageSize", "13.89 × 16.67 in (portrait)");
metadata.Set("canSerializeDocument", true);
diff --git a/third_party/blink/renderer/platform/text/locale_icu_test.cc b/third_party/blink/renderer/platform/text/locale_icu_test.cc
index a65a8b16..2886beb6 100644
--- a/third_party/blink/renderer/platform/text/locale_icu_test.cc
+++ b/third_party/blink/renderer/platform/text/locale_icu_test.cc
@@ -142,13 +142,19 @@
TEST_F(LocaleICUTest, localizedDateFormatText) {
// Note: EXPECT_EQ(String, String) doesn't print result as string.
- EXPECT_EQ("h:mm:ss a", LocalizedDateFormatText("en_US"));
+ EXPECT_EQ(
+ "h:mm:ss\xE2\x80\xAF"
+ "a",
+ LocalizedDateFormatText("en_US").Utf8());
EXPECT_EQ("HH:mm:ss", LocalizedDateFormatText("fr"));
EXPECT_EQ("H:mm:ss", LocalizedDateFormatText("ja"));
}
TEST_F(LocaleICUTest, localizedShortDateFormatText) {
- EXPECT_EQ("h:mm a", LocalizedShortDateFormatText("en_US"));
+ EXPECT_EQ(
+ "h:mm\xE2\x80\xAF"
+ "a",
+ LocalizedShortDateFormatText("en_US").Utf8());
EXPECT_EQ("HH:mm", LocalizedShortDateFormatText("fr"));
EXPECT_EQ("H:mm", LocalizedShortDateFormatText("ja"));
}
diff --git a/third_party/blink/web_tests/fast/forms/datetimelocal-multiple-fields/resources/preserve-value-after-history-back-frame.html b/third_party/blink/web_tests/fast/forms/datetimelocal-multiple-fields/resources/preserve-value-after-history-back-frame.html
index 965f3ed..88753f7 100644
--- a/third_party/blink/web_tests/fast/forms/datetimelocal-multiple-fields/resources/preserve-value-after-history-back-frame.html
+++ b/third_party/blink/web_tests/fast/forms/datetimelocal-multiple-fields/resources/preserve-value-after-history-back-frame.html
@@ -59,7 +59,7 @@
{
'description' : 'Went back to a page. Checking a form control which had a partial value',
'actual' : fieldsText(testInput2),
- 'expected' : insertCommaIfNecessary('01/dd/1999 --:00 --', testInput1)
+ 'expected' : insertCommaIfNecessary('01/dd/1999 --:00\u202f--', testInput1)
});
forward('forwardTo2');
break;
@@ -97,7 +97,7 @@
{
'description' : 'Went forward to a page. Checking a form control which had a partial value',
'actual' : fieldsText(testInput2),
- 'expected' : insertCommaIfNecessary('mm/31/yyyy 12:-- PM', testInput1)
+ 'expected' : insertCommaIfNecessary('mm/31/yyyy 12:--\u202fPM', testInput1)
});
back('backTo1Second');
break;
diff --git a/third_party/blink/web_tests/fast/forms/time-multiple-fields/resources/preserve-value-after-history-back-frame.html b/third_party/blink/web_tests/fast/forms/time-multiple-fields/resources/preserve-value-after-history-back-frame.html
index 37343303..f9ed16f5 100644
--- a/third_party/blink/web_tests/fast/forms/time-multiple-fields/resources/preserve-value-after-history-back-frame.html
+++ b/third_party/blink/web_tests/fast/forms/time-multiple-fields/resources/preserve-value-after-history-back-frame.html
@@ -50,7 +50,7 @@
{
'description' : 'Went back to a page. Checking a form control which had a partial value',
'actual' : fieldsText(testInput2),
- 'expected' : '01:--:-- AM'
+ 'expected' : '01:--:--\u202fAM'
});
forward('forwardTo2');
break;
@@ -81,7 +81,7 @@
{
'description' : 'Went forward to a page. Checking a form control which had a partial value',
'actual' : fieldsText(testInput2),
- 'expected' : '--:59:-- --'
+ 'expected' : '--:59:--\u202f--'
});
back('backTo1Second');
break;
diff --git a/third_party/blink/web_tests/fast/forms/time-multiple-fields/time-multiple-fields-focus.html b/third_party/blink/web_tests/fast/forms/time-multiple-fields/time-multiple-fields-focus.html
index b8240f7..6f6c1961 100644
--- a/third_party/blink/web_tests/fast/forms/time-multiple-fields/time-multiple-fields-focus.html
+++ b/third_party/blink/web_tests/fast/forms/time-multiple-fields/time-multiple-fields-focus.html
@@ -19,7 +19,7 @@
debug('Click on a delimiter between sub-fields, then check if focused element is not changed:');
var focusedField = internals.shadowRoot(timeInput).activeElement;
-eventSender.mouseMoveTo(focusedField.offsetLeft + focusedField.offsetWidth + 10, focusedField.offsetTop + 10);
+eventSender.mouseMoveTo(focusedField.offsetLeft + focusedField.offsetWidth + 5, focusedField.offsetTop + 10);
eventSender.mouseDown();
eventSender.mouseUp();
shouldBeEqualToString('shadowPseudoIdOfFocused(timeInput)', '-webkit-datetime-edit-minute-field');
diff --git a/third_party/blink/web_tests/fast/forms/time-multiple-fields/time-multiple-fields-preserve-value-after-history-back-expected.txt b/third_party/blink/web_tests/fast/forms/time-multiple-fields/time-multiple-fields-preserve-value-after-history-back-expected.txt
index 606dabd..f892921 100644
--- a/third_party/blink/web_tests/fast/forms/time-multiple-fields/time-multiple-fields-preserve-value-after-history-back-expected.txt
+++ b/third_party/blink/web_tests/fast/forms/time-multiple-fields/time-multiple-fields-preserve-value-after-history-back-expected.txt
@@ -5,11 +5,11 @@
Went back to a page. Checking a form control which had a full value:
PASS "01:01" is "01:01"
Went back to a page. Checking a form control which had a partial value:
-PASS "01:--:-- AM" is "01:--:-- AM"
+FAIL "01:--:-- AM" should be 01:--:-- AM. Was 01:--:-- AM.
Went forward to a page. Checking a form control which had a full value:
PASS "02:02" is "02:02"
Went forward to a page. Checking a form control which had a partial value:
-PASS "--:59:-- --" is "--:59:-- --"
+FAIL "--:59:-- --" should be --:59:-- --. Was --:59:-- --.
PASS successfullyParsed is true
diff --git a/third_party/blink/web_tests/fast/forms/time-multiple-fields/time-multiple-fields-stepup-stepdown-from-renderer-hour-expected.txt b/third_party/blink/web_tests/fast/forms/time-multiple-fields/time-multiple-fields-stepup-stepdown-from-renderer-hour-expected.txt
new file mode 100644
index 0000000..8c324d7
--- /dev/null
+++ b/third_party/blink/web_tests/fast/forms/time-multiple-fields/time-multiple-fields-stepup-stepdown-from-renderer-hour-expected.txt
@@ -0,0 +1,7 @@
+This is a testharness.js-based test.
+PASS Hours, 1-12
+PASS Hours, 0-11
+PASS Hours, 0-23
+PASS Hours, 1-24
+Harness: the test ran to completion.
+
diff --git a/third_party/blink/web_tests/fast/forms/time-multiple-fields/time-multiple-fields-stepup-stepdown-from-renderer-hour.html b/third_party/blink/web_tests/fast/forms/time-multiple-fields/time-multiple-fields-stepup-stepdown-from-renderer-hour.html
index 5392df5..72b0f448 100644
--- a/third_party/blink/web_tests/fast/forms/time-multiple-fields/time-multiple-fields-stepup-stepdown-from-renderer-hour.html
+++ b/third_party/blink/web_tests/fast/forms/time-multiple-fields/time-multiple-fields-stepup-stepdown-from-renderer-hour.html
@@ -38,7 +38,7 @@
assert_equals(input.value, expected);
if (expectedDisplayValue)
- assert_equals(getUserAgentShadowTextContent(input), expectedDisplayValue);
+ assert_equals(getUserAgentShadowTextContent(input).replace('\u202f', ' '), expectedDisplayValue);
}
function assert_input_value_with_limits_after_up(initial, step, min, max, expected, expectedDisplayValue) {
diff --git a/third_party/blink/web_tests/fast/forms/time-multiple-fields/time-multiple-fields-value-set-empty-expected.txt b/third_party/blink/web_tests/fast/forms/time-multiple-fields/time-multiple-fields-value-set-empty-expected.txt
index 4ccefe38..fa263d9 100644
--- a/third_party/blink/web_tests/fast/forms/time-multiple-fields/time-multiple-fields-value-set-empty-expected.txt
+++ b/third_party/blink/web_tests/fast/forms/time-multiple-fields/time-multiple-fields-value-set-empty-expected.txt
@@ -9,10 +9,10 @@
Initial text: --:--:45 --
Empty value should not clear read-only fields.
-PASS input.value = ""; getUserAgentShadowTextContent(input) is "--:--:45 --"
+FAIL input.value = ""; getUserAgentShadowTextContent(input) should be --:--:45 --. Was --:--:45 --.
Empty value should clear only editable fields.
-PASS eventSender.keyDown("ArrowUp"); getUserAgentShadowTextContent(input) is "01:--:45 --"
-PASS input.value = ""; getUserAgentShadowTextContent(input) is "--:--:45 --"
+FAIL eventSender.keyDown("ArrowUp"); getUserAgentShadowTextContent(input) should be 01:--:45 --. Was 01:--:45 --.
+FAIL input.value = ""; getUserAgentShadowTextContent(input) should be --:--:45 --. Was --:--:45 --.
PASS successfullyParsed is true
TEST COMPLETE
diff --git a/third_party/blink/web_tests/fast/forms/time-multiple-fields/time-multiple-fields-value-set-empty.html b/third_party/blink/web_tests/fast/forms/time-multiple-fields/time-multiple-fields-value-set-empty.html
index 0b35bd3..7113d655 100644
--- a/third_party/blink/web_tests/fast/forms/time-multiple-fields/time-multiple-fields-value-set-empty.html
+++ b/third_party/blink/web_tests/fast/forms/time-multiple-fields/time-multiple-fields-value-set-empty.html
@@ -15,12 +15,12 @@
document.body.appendChild(input);
debug('Initial text: ' + getUserAgentShadowTextContent(input));
debug('Empty value should not clear read-only fields.');
-shouldBeEqualToString('input.value = ""; getUserAgentShadowTextContent(input)', '--:--:45 --');
+shouldBeEqualToString('input.value = ""; getUserAgentShadowTextContent(input)', '--:--:45\u202f--');
debug('Empty value should clear only editable fields.');
input.focus();
-shouldBeEqualToString('eventSender.keyDown("ArrowUp"); getUserAgentShadowTextContent(input)', '01:--:45 --');
-shouldBeEqualToString('input.value = ""; getUserAgentShadowTextContent(input)', '--:--:45 --');
+shouldBeEqualToString('eventSender.keyDown("ArrowUp"); getUserAgentShadowTextContent(input)', '01:--:45\u202f--');
+shouldBeEqualToString('input.value = ""; getUserAgentShadowTextContent(input)', '--:--:45\u202f--');
</script>
</body>
diff --git a/third_party/blink/web_tests/flag-specific/disable-layout-ng/fast/forms/datetimelocal/datetimelocal-appearance-basic-expected.png b/third_party/blink/web_tests/flag-specific/disable-layout-ng/fast/forms/datetimelocal/datetimelocal-appearance-basic-expected.png
index 4abf678..8b2d4f2 100644
--- a/third_party/blink/web_tests/flag-specific/disable-layout-ng/fast/forms/datetimelocal/datetimelocal-appearance-basic-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-layout-ng/fast/forms/datetimelocal/datetimelocal-appearance-basic-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-layout-ng/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/flag-specific/disable-layout-ng/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png
deleted file mode 100644
index 53abc12..0000000
--- a/third_party/blink/web_tests/flag-specific/disable-layout-ng/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-layout-ng/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-rtl-expected.png b/third_party/blink/web_tests/flag-specific/disable-layout-ng/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-rtl-expected.png
deleted file mode 100644
index 729f72f..0000000
--- a/third_party/blink/web_tests/flag-specific/disable-layout-ng/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-rtl-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-layout-ng/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-with-scroll-bar-expected.png b/third_party/blink/web_tests/flag-specific/disable-layout-ng/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-with-scroll-bar-expected.png
deleted file mode 100644
index 1f1f41e..0000000
--- a/third_party/blink/web_tests/flag-specific/disable-layout-ng/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-with-scroll-bar-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-layout-ng/fast/forms/suggestion-picker/time-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/flag-specific/disable-layout-ng/fast/forms/suggestion-picker/time-suggestion-picker-appearance-expected.png
deleted file mode 100644
index 61f8886..0000000
--- a/third_party/blink/web_tests/flag-specific/disable-layout-ng/fast/forms/suggestion-picker/time-suggestion-picker-appearance-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-layout-ng/fast/forms/suggestion-picker/time-suggestion-picker-appearance-rtl-expected.png b/third_party/blink/web_tests/flag-specific/disable-layout-ng/fast/forms/suggestion-picker/time-suggestion-picker-appearance-rtl-expected.png
deleted file mode 100644
index 4faea8c..0000000
--- a/third_party/blink/web_tests/flag-specific/disable-layout-ng/fast/forms/suggestion-picker/time-suggestion-picker-appearance-rtl-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-layout-ng/fast/forms/suggestion-picker/time-suggestion-picker-appearance-with-scroll-bar-expected.png b/third_party/blink/web_tests/flag-specific/disable-layout-ng/fast/forms/suggestion-picker/time-suggestion-picker-appearance-with-scroll-bar-expected.png
deleted file mode 100644
index c139b31..0000000
--- a/third_party/blink/web_tests/flag-specific/disable-layout-ng/fast/forms/suggestion-picker/time-suggestion-picker-appearance-with-scroll-bar-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.png
index e89576dc..e30f0f6 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/color-scheme/datetimelocal-picker/datetimelocal-picker-appearance-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/color-scheme/datetimelocal-picker/datetimelocal-picker-appearance-expected.png
index f1e2d58..c1a4797 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/color-scheme/datetimelocal-picker/datetimelocal-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/color-scheme/datetimelocal-picker/datetimelocal-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/color-scheme/datetimelocal/datetimelocal-appearance-basic-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/color-scheme/datetimelocal/datetimelocal-appearance-basic-expected.png
index b24fa3a..888e663f 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/color-scheme/datetimelocal/datetimelocal-appearance-basic-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/color-scheme/datetimelocal/datetimelocal-appearance-basic-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/color-scheme/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/color-scheme/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png
index c7dc8ab..2bdbecc0 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/color-scheme/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/color-scheme/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/color-scheme/suggestion-picker/time-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/color-scheme/suggestion-picker/time-suggestion-picker-appearance-expected.png
index 5d25ee6..78447c85 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/color-scheme/suggestion-picker/time-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/color-scheme/suggestion-picker/time-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/color-scheme/time-picker/time-picker-appearance-after-closing-popup-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/color-scheme/time-picker/time-picker-appearance-after-closing-popup-expected.png
index 760e873..3a30477a 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/color-scheme/time-picker/time-picker-appearance-after-closing-popup-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/color-scheme/time-picker/time-picker-appearance-after-closing-popup-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/color-scheme/time-picker/time-picker-appearance-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/color-scheme/time-picker/time-picker-appearance-expected.png
index 8f833f5..92a9219 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/color-scheme/time-picker/time-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/color-scheme/time-picker/time-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/color-scheme/time/time-appearance-basic-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/color-scheme/time/time-appearance-basic-expected.png
index 99b185205..92abc7a3 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/color-scheme/time/time-appearance-basic-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/color-scheme/time/time-appearance-basic-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/color/color-picker-appearance-zoom125-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/color/color-picker-appearance-zoom125-expected.png
index 71c77e3f..80dd6c1 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/color/color-picker-appearance-zoom125-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/color/color-picker-appearance-zoom125-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-preserve-value-after-history-back-expected.txt b/third_party/blink/web_tests/platform/linux/fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-preserve-value-after-history-back-expected.txt
index 605cf6b..235d5c73 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-preserve-value-after-history-back-expected.txt
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-preserve-value-after-history-back-expected.txt
@@ -5,11 +5,11 @@
Went back to a page. Checking a form control which had a full value:
PASS "12012-10-09T01:23" is "12012-10-09T01:23"
Went back to a page. Checking a form control which had a partial value:
-PASS "01/dd/1999, --:00 --" is "01/dd/1999, --:00 --"
+PASS "01/dd/1999, --:00 --" is "01/dd/1999, --:00 --"
Went forward to a page. Checking a form control which had a full value:
PASS "0001-11-17T23:55" is "0001-11-17T23:55"
Went forward to a page. Checking a form control which had a partial value:
-PASS "mm/31/yyyy, 12:-- PM" is "mm/31/yyyy, 12:-- PM"
+PASS "mm/31/yyyy, 12:-- PM" is "mm/31/yyyy, 12:-- PM"
PASS successfullyParsed is true
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-value-set-empty-expected.txt b/third_party/blink/web_tests/platform/linux/fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-value-set-empty-expected.txt
index 56975e6c..5360cb2 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-value-set-empty-expected.txt
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-value-set-empty-expected.txt
@@ -2,7 +2,7 @@
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-Empty text: mm/dd/yyyy, --:-- --
+Empty text: mm/dd/yyyy, --:-- --
PASS eventSender.keyDown("ArrowUp"); getUserAgentShadowTextContent(input) is not emptyText
PASS input.value = ""; getUserAgentShadowTextContent(input) is emptyText
PASS successfullyParsed is true
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/datetimelocal/datetimelocal-appearance-basic-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/datetimelocal/datetimelocal-appearance-basic-expected.png
index ccf4eec3..62d362e 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/datetimelocal/datetimelocal-appearance-basic-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/datetimelocal/datetimelocal-appearance-basic-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/datetimelocal/datetimelocal-appearance-l10n-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/datetimelocal/datetimelocal-appearance-l10n-expected.png
index 6173ca37..4a0b8f1b 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/datetimelocal/datetimelocal-appearance-l10n-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/datetimelocal/datetimelocal-appearance-l10n-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/datetimelocal/datetimelocal-picker-step2-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/datetimelocal/datetimelocal-picker-step2-expected.png
index 870c85b..4cdf42e 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/datetimelocal/datetimelocal-picker-step2-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/datetimelocal/datetimelocal-picker-step2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/month/month-appearance-l10n-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/month/month-appearance-l10n-expected.png
index ce38256..a5f2cfd28 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/month/month-appearance-l10n-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/month/month-appearance-l10n-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png
index aea8edf..c1e39cb 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-rtl-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-rtl-expected.png
index e5f21c1e..7551c52 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-rtl-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-rtl-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-with-scroll-bar-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-with-scroll-bar-expected.png
index 1ddcf0da..39ffe7d 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-with-scroll-bar-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-with-scroll-bar-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/suggestion-picker/time-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/suggestion-picker/time-suggestion-picker-appearance-expected.png
index c0f59b33..9fae1ab0 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/suggestion-picker/time-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/suggestion-picker/time-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/suggestion-picker/time-suggestion-picker-appearance-rtl-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/suggestion-picker/time-suggestion-picker-appearance-rtl-expected.png
index ad9b386..7f2a084 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/suggestion-picker/time-suggestion-picker-appearance-rtl-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/suggestion-picker/time-suggestion-picker-appearance-rtl-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/suggestion-picker/time-suggestion-picker-appearance-with-scroll-bar-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/suggestion-picker/time-suggestion-picker-appearance-with-scroll-bar-expected.png
index 34440d4b..a2f9003 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/suggestion-picker/time-suggestion-picker-appearance-with-scroll-bar-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/suggestion-picker/time-suggestion-picker-appearance-with-scroll-bar-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/time-multiple-fields/time-multiple-fields-localization-expected.txt b/third_party/blink/web_tests/platform/linux/fast/forms/time-multiple-fields/time-multiple-fields-localization-expected.txt
index 1ccf6a51..9358f7f 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/time-multiple-fields/time-multiple-fields-localization-expected.txt
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/time-multiple-fields/time-multiple-fields-localization-expected.txt
@@ -3,7 +3,7 @@
On success, you will see no "FAIL" messages, followed by "TEST COMPLETE".
The following lines depend on the locale data in the system.
-en: 01:23:45.100 PM
+en: 01:23:45.100 PM
ar: 01:23:45.100 م
ar-EG: ٠١:٢٣:٤٥٫١٠٠ م
fr: 13:23:45,100
diff --git a/third_party/blink/web_tests/fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-preserve-value-after-history-back-expected.txt b/third_party/blink/web_tests/platform/linux/fast/forms/time-multiple-fields/time-multiple-fields-preserve-value-after-history-back-expected.txt
similarity index 70%
copy from third_party/blink/web_tests/fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-preserve-value-after-history-back-expected.txt
copy to third_party/blink/web_tests/platform/linux/fast/forms/time-multiple-fields/time-multiple-fields-preserve-value-after-history-back-expected.txt
index a9773eb..bbbeb37 100644
--- a/third_party/blink/web_tests/fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-preserve-value-after-history-back-expected.txt
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/time-multiple-fields/time-multiple-fields-preserve-value-after-history-back-expected.txt
@@ -3,13 +3,13 @@
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
Went back to a page. Checking a form control which had a full value:
-PASS "12012-10-09T01:23" is "12012-10-09T01:23"
+PASS "01:01" is "01:01"
Went back to a page. Checking a form control which had a partial value:
-PASS "01/dd/1999 --:00 --" is "01/dd/1999 --:00 --"
+PASS "01:--:-- AM" is "01:--:-- AM"
Went forward to a page. Checking a form control which had a full value:
-PASS "0001-11-17T23:55" is "0001-11-17T23:55"
+PASS "02:02" is "02:02"
Went forward to a page. Checking a form control which had a partial value:
-PASS "mm/31/yyyy 12:-- PM" is "mm/31/yyyy 12:-- PM"
+PASS "--:59:-- --" is "--:59:-- --"
PASS successfullyParsed is true
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/time-multiple-fields/time-multiple-fields-value-set-empty-expected.txt b/third_party/blink/web_tests/platform/linux/fast/forms/time-multiple-fields/time-multiple-fields-value-set-empty-expected.txt
new file mode 100644
index 0000000..57ffc032
--- /dev/null
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/time-multiple-fields/time-multiple-fields-value-set-empty-expected.txt
@@ -0,0 +1,19 @@
+Check if input.value="" clears an input with partially-specified value.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+Empty text: --:-- --
+PASS eventSender.keyDown("ArrowUp"); getUserAgentShadowTextContent(input) is not emptyText
+PASS input.value = ""; getUserAgentShadowTextContent(input) is emptyText
+
+
+Initial text: --:--:45 --
+Empty value should not clear read-only fields.
+PASS input.value = ""; getUserAgentShadowTextContent(input) is "--:--:45 --"
+Empty value should clear only editable fields.
+PASS eventSender.keyDown("ArrowUp"); getUserAgentShadowTextContent(input) is "01:--:45 --"
+PASS input.value = ""; getUserAgentShadowTextContent(input) is "--:--:45 --"
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/time/time-appearance-basic-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/time/time-appearance-basic-expected.png
index 828398f..d7f9b53 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/time/time-appearance-basic-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/time/time-appearance-basic-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/time/time-appearance-pseudo-elements-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/time/time-appearance-pseudo-elements-expected.png
index 9d3239e..0dae840 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/time/time-appearance-pseudo-elements-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/time/time-appearance-pseudo-elements-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/time/time-picker-appearance-12-AM-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/time/time-picker-appearance-12-AM-expected.png
index 0b815f19..5fe04d2 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/time/time-picker-appearance-12-AM-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/time/time-picker-appearance-12-AM-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/time/time-picker-appearance-12-PM-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/time/time-picker-appearance-12-PM-expected.png
index b6be46ae..ea5d87b 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/time/time-picker-appearance-12-PM-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/time/time-picker-appearance-12-PM-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/time/time-picker-appearance-arrowdown-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/time/time-picker-appearance-arrowdown-expected.png
index 74be4b65..32df00e6 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/time/time-picker-appearance-arrowdown-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/time/time-picker-appearance-arrowdown-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/time/time-picker-appearance-arrowup-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/time/time-picker-appearance-arrowup-expected.png
index 4959b0f..21dd6f0 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/time/time-picker-appearance-arrowup-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/time/time-picker-appearance-arrowup-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/time/time-picker-appearance-milliseconds-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/time/time-picker-appearance-milliseconds-expected.png
index 543298d..e3bd12c 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/time/time-picker-appearance-milliseconds-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/time/time-picker-appearance-milliseconds-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/time/time-picker-appearance-seconds-pm-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/time/time-picker-appearance-seconds-pm-expected.png
index 958076bd..145153e 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/time/time-picker-appearance-seconds-pm-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/time/time-picker-appearance-seconds-pm-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/time/time-picker-click-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/time/time-picker-click-expected.png
index db1fe6b..e1af873 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/time/time-picker-click-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/time/time-picker-click-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/validationMessage-expected.txt b/third_party/blink/web_tests/platform/linux/fast/forms/validationMessage-expected.txt
index 7ccde1c..47574a1a 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/validationMessage-expected.txt
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/validationMessage-expected.txt
@@ -36,14 +36,14 @@
input rangeOverflow and rangeUnderflow: Value must be 1.
input rangeOverflow and rangeUnderflow: Value must be 01/02/2000.
input rangeOverflow and rangeUnderflow: Value must be 01/02/2000.
-input rangeOverflow and rangeUnderflow: Value must be 01/02/2000, 12:00 AM.
-input rangeOverflow and rangeUnderflow: Value must be 01/02/2000, 12:00 AM.
+input rangeOverflow and rangeUnderflow: Value must be 01/02/2000, 12:00 AM.
+input rangeOverflow and rangeUnderflow: Value must be 01/02/2000, 12:00 AM.
input rangeOverflow and rangeUnderflow: Value must be January 2000.
input rangeOverflow and rangeUnderflow: Value must be January 2000.
input rangeOverflow and rangeUnderflow: Value must be Week 01, 2000.
input rangeOverflow and rangeUnderflow: Value must be Week 01, 2000.
-input rangeOverflow and rangeUnderflow: Value must be 7:00 AM.
-input rangeOverflow and rangeUnderflow: Value must be 7:00 AM.
+input rangeOverflow and rangeUnderflow: Value must be 7:00 AM.
+input rangeOverflow and rangeUnderflow: Value must be 7:00 AM.
tooLong:
input tooLong: Please shorten this text to 3 characters or less (you are currently using 5 characters).
input tooLong: Please shorten this text to 2 characters or less (you are currently using 3 characters).
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/fast/forms/color-scheme/datetimelocal-picker/datetimelocal-picker-appearance-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/fast/forms/color-scheme/datetimelocal-picker/datetimelocal-picker-appearance-expected.png
index f7175aa..8c6b11c5 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/fast/forms/color-scheme/datetimelocal-picker/datetimelocal-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/fast/forms/color-scheme/datetimelocal-picker/datetimelocal-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/fast/forms/color-scheme/datetimelocal/datetimelocal-appearance-basic-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/fast/forms/color-scheme/datetimelocal/datetimelocal-appearance-basic-expected.png
index f65a1ae..529432aa 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/fast/forms/color-scheme/datetimelocal/datetimelocal-appearance-basic-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/fast/forms/color-scheme/datetimelocal/datetimelocal-appearance-basic-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/fast/forms/color-scheme/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/fast/forms/color-scheme/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png
index a2e7af1..05e611a 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/fast/forms/color-scheme/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/fast/forms/color-scheme/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/fast/forms/color-scheme/suggestion-picker/time-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/fast/forms/color-scheme/suggestion-picker/time-suggestion-picker-appearance-expected.png
index c44d9806..89cfefc8 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/fast/forms/color-scheme/suggestion-picker/time-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/fast/forms/color-scheme/suggestion-picker/time-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/fast/forms/color-scheme/time-picker/time-picker-appearance-after-closing-popup-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/fast/forms/color-scheme/time-picker/time-picker-appearance-after-closing-popup-expected.png
index 2b7795f..95e8fdd 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/fast/forms/color-scheme/time-picker/time-picker-appearance-after-closing-popup-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/fast/forms/color-scheme/time-picker/time-picker-appearance-after-closing-popup-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/fast/forms/color-scheme/time-picker/time-picker-appearance-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/fast/forms/color-scheme/time-picker/time-picker-appearance-expected.png
index b143f75c..fd33a4b 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/fast/forms/color-scheme/time-picker/time-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/fast/forms/color-scheme/time-picker/time-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/fast/forms/color-scheme/time/time-appearance-basic-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/fast/forms/color-scheme/time/time-appearance-basic-expected.png
index 1575be20..afd770b 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/fast/forms/color-scheme/time/time-appearance-basic-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/fast/forms/color-scheme/time/time-appearance-basic-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/dark-color-scheme/datetimelocal-picker/datetimelocal-focus-ring-expected.png b/third_party/blink/web_tests/platform/linux/virtual/dark-color-scheme/datetimelocal-picker/datetimelocal-focus-ring-expected.png
index 5abf433..05d99f56 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/dark-color-scheme/datetimelocal-picker/datetimelocal-focus-ring-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/dark-color-scheme/datetimelocal-picker/datetimelocal-focus-ring-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/dark-color-scheme/datetimelocal-picker/datetimelocal-month-year-selector-expected.png b/third_party/blink/web_tests/platform/linux/virtual/dark-color-scheme/datetimelocal-picker/datetimelocal-month-year-selector-expected.png
index 42ae1df2..95fd40c 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/dark-color-scheme/datetimelocal-picker/datetimelocal-month-year-selector-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/dark-color-scheme/datetimelocal-picker/datetimelocal-month-year-selector-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/dark-color-scheme/fast/forms/color-scheme/datetimelocal-picker/datetimelocal-picker-appearance-expected.png b/third_party/blink/web_tests/platform/linux/virtual/dark-color-scheme/fast/forms/color-scheme/datetimelocal-picker/datetimelocal-picker-appearance-expected.png
index c55be2b..2fcd29a 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/dark-color-scheme/fast/forms/color-scheme/datetimelocal-picker/datetimelocal-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/dark-color-scheme/fast/forms/color-scheme/datetimelocal-picker/datetimelocal-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/dark-color-scheme/fast/forms/color-scheme/datetimelocal/datetimelocal-appearance-basic-expected.png b/third_party/blink/web_tests/platform/linux/virtual/dark-color-scheme/fast/forms/color-scheme/datetimelocal/datetimelocal-appearance-basic-expected.png
index 460e41e5..ab8ca82b 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/dark-color-scheme/fast/forms/color-scheme/datetimelocal/datetimelocal-appearance-basic-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/dark-color-scheme/fast/forms/color-scheme/datetimelocal/datetimelocal-appearance-basic-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/dark-color-scheme/fast/forms/color-scheme/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/linux/virtual/dark-color-scheme/fast/forms/color-scheme/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png
index 5571ced..a0ea33d 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/dark-color-scheme/fast/forms/color-scheme/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/dark-color-scheme/fast/forms/color-scheme/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/dark-color-scheme/fast/forms/color-scheme/suggestion-picker/time-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/linux/virtual/dark-color-scheme/fast/forms/color-scheme/suggestion-picker/time-suggestion-picker-appearance-expected.png
index 21d395b..42925ab3 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/dark-color-scheme/fast/forms/color-scheme/suggestion-picker/time-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/dark-color-scheme/fast/forms/color-scheme/suggestion-picker/time-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/dark-color-scheme/fast/forms/color-scheme/time-picker/time-picker-appearance-after-closing-popup-expected.png b/third_party/blink/web_tests/platform/linux/virtual/dark-color-scheme/fast/forms/color-scheme/time-picker/time-picker-appearance-after-closing-popup-expected.png
index 9cb6cbfa..795ba00 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/dark-color-scheme/fast/forms/color-scheme/time-picker/time-picker-appearance-after-closing-popup-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/dark-color-scheme/fast/forms/color-scheme/time-picker/time-picker-appearance-after-closing-popup-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/dark-color-scheme/fast/forms/color-scheme/time-picker/time-picker-appearance-expected.png b/third_party/blink/web_tests/platform/linux/virtual/dark-color-scheme/fast/forms/color-scheme/time-picker/time-picker-appearance-expected.png
index 5ec74b3..ff55b79 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/dark-color-scheme/fast/forms/color-scheme/time-picker/time-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/dark-color-scheme/fast/forms/color-scheme/time-picker/time-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/dark-color-scheme/fast/forms/color-scheme/time/time-appearance-basic-expected.png b/third_party/blink/web_tests/platform/linux/virtual/dark-color-scheme/fast/forms/color-scheme/time/time-appearance-basic-expected.png
index c5acc6b..ce0b12b 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/dark-color-scheme/fast/forms/color-scheme/time/time-appearance-basic-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/dark-color-scheme/fast/forms/color-scheme/time/time-appearance-basic-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.15/external/wpt/html/browsers/browsing-the-web/history-traversal/event-order/before-load-hash-expected.txt b/third_party/blink/web_tests/platform/mac-mac10.15/external/wpt/html/browsers/browsing-the-web/history-traversal/event-order/before-load-hash-expected.txt
new file mode 100644
index 0000000..965a6cf4
--- /dev/null
+++ b/third_party/blink/web_tests/platform/mac-mac10.15/external/wpt/html/browsers/browsing-the-web/history-traversal/event-order/before-load-hash-expected.txt
@@ -0,0 +1,4 @@
+This is a testharness.js-based test.
+FAIL when changing hash, before load assert_array_equals: lengths differ, expected array ["popstate", "hashchange", "load"] length 3, got ["popstate", "load"] length 2
+Harness: the test ran to completion.
+
diff --git a/third_party/blink/web_tests/platform/mac-mac11-arm64/external/wpt/html/browsers/browsing-the-web/history-traversal/event-order/before-load-hash-expected.txt b/third_party/blink/web_tests/platform/mac-mac11-arm64/external/wpt/html/browsers/browsing-the-web/history-traversal/event-order/before-load-hash-expected.txt
new file mode 100644
index 0000000..3d51270a
--- /dev/null
+++ b/third_party/blink/web_tests/platform/mac-mac11-arm64/external/wpt/html/browsers/browsing-the-web/history-traversal/event-order/before-load-hash-expected.txt
@@ -0,0 +1,4 @@
+This is a testharness.js-based test.
+PASS when changing hash, before load
+Harness: the test ran to completion.
+
diff --git a/third_party/blink/web_tests/platform/mac/fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-preserve-value-after-history-back-expected.txt b/third_party/blink/web_tests/platform/mac/fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-preserve-value-after-history-back-expected.txt
index 605cf6b..1aa7614 100644
--- a/third_party/blink/web_tests/platform/mac/fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-preserve-value-after-history-back-expected.txt
+++ b/third_party/blink/web_tests/platform/mac/fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-preserve-value-after-history-back-expected.txt
@@ -5,11 +5,11 @@
Went back to a page. Checking a form control which had a full value:
PASS "12012-10-09T01:23" is "12012-10-09T01:23"
Went back to a page. Checking a form control which had a partial value:
-PASS "01/dd/1999, --:00 --" is "01/dd/1999, --:00 --"
+FAIL "01/dd/1999, --:00 --" should be 01/dd/1999, --:00 --. Was 01/dd/1999, --:00 --.
Went forward to a page. Checking a form control which had a full value:
PASS "0001-11-17T23:55" is "0001-11-17T23:55"
Went forward to a page. Checking a form control which had a partial value:
-PASS "mm/31/yyyy, 12:-- PM" is "mm/31/yyyy, 12:-- PM"
+FAIL "mm/31/yyyy, 12:-- PM" should be mm/31/yyyy, 12:-- PM. Was mm/31/yyyy, 12:-- PM.
PASS successfullyParsed is true
diff --git a/third_party/blink/web_tests/fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-preserve-value-after-history-back-expected.txt b/third_party/blink/web_tests/platform/win/fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-preserve-value-after-history-back-expected.txt
similarity index 77%
rename from third_party/blink/web_tests/fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-preserve-value-after-history-back-expected.txt
rename to third_party/blink/web_tests/platform/win/fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-preserve-value-after-history-back-expected.txt
index a9773eb..c00d5c40 100644
--- a/third_party/blink/web_tests/fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-preserve-value-after-history-back-expected.txt
+++ b/third_party/blink/web_tests/platform/win/fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-preserve-value-after-history-back-expected.txt
@@ -5,11 +5,11 @@
Went back to a page. Checking a form control which had a full value:
PASS "12012-10-09T01:23" is "12012-10-09T01:23"
Went back to a page. Checking a form control which had a partial value:
-PASS "01/dd/1999 --:00 --" is "01/dd/1999 --:00 --"
+FAIL "01/dd/1999 --:00 --" should be 01/dd/1999 --:00 --. Was 01/dd/1999 --:00 --.
Went forward to a page. Checking a form control which had a full value:
PASS "0001-11-17T23:55" is "0001-11-17T23:55"
Went forward to a page. Checking a form control which had a partial value:
-PASS "mm/31/yyyy 12:-- PM" is "mm/31/yyyy 12:-- PM"
+FAIL "mm/31/yyyy 12:-- PM" should be mm/31/yyyy 12:-- PM. Was mm/31/yyyy 12:-- PM.
PASS successfullyParsed is true
diff --git a/ui/accessibility/ax_text_utils_unittest.cc b/ui/accessibility/ax_text_utils_unittest.cc
index d8af19e7..dde0bb6 100644
--- a/ui/accessibility/ax_text_utils_unittest.cc
+++ b/ui/accessibility/ax_text_utils_unittest.cc
@@ -286,7 +286,7 @@
const std::u16string text =
u"..we *## should parse $#@$ through bad ,, input";
EXPECT_THAT(GetWordStartOffsets(text),
- testing::ElementsAre(2, 9, 16, 27, 35, 43));
+ testing::ElementsAre(2, 9, 16, 24, 27, 35, 43));
}
TEST(AXTextUtils, GetSentenceStartOffsetsBasicTest) {
diff --git a/ui/accessibility/platform/inspect/ax_tree_formatter_base.cc b/ui/accessibility/platform/inspect/ax_tree_formatter_base.cc
index 47c0635..a0bca40 100644
--- a/ui/accessibility/platform/inspect/ax_tree_formatter_base.cc
+++ b/ui/accessibility/platform/inspect/ax_tree_formatter_base.cc
@@ -120,6 +120,9 @@
// Replace literal newlines with "<newline>"
base::ReplaceChars(line, "\n", "<newline>", &line);
+ // Replace U+202f to ASCII SPACE
+ base::ReplaceFirstSubstringAfterOffset(&line, 0, "\u202f", " ");
+
*contents += line + "\n";
// TODO(accessibility): This can be removed once the UIA tree formatter