summaryrefslogtreecommitdiffstats
path: root/gfx
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-04 01:54:08 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-04 01:54:08 +0000
commit7443e3d6139ce4f0c822c23d1efb9c097419456d (patch)
tree8e2682b680f95eb05e7f15551464dd1a671b06e2 /gfx
parentReleasing progress-linux version 125.0.2-1~progress7.99u1. (diff)
downloadfirefox-7443e3d6139ce4f0c822c23d1efb9c097419456d.tar.xz
firefox-7443e3d6139ce4f0c822c23d1efb9c097419456d.zip
Merging upstream version 125.0.3.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'gfx')
-rw-r--r--gfx/layers/AnimationInfo.cpp14
-rw-r--r--gfx/thebes/gfxPlatformFontList.cpp6
2 files changed, 15 insertions, 5 deletions
diff --git a/gfx/layers/AnimationInfo.cpp b/gfx/layers/AnimationInfo.cpp
index 81d11f672c..ad43fd681f 100644
--- a/gfx/layers/AnimationInfo.cpp
+++ b/gfx/layers/AnimationInfo.cpp
@@ -494,11 +494,15 @@ void AnimationInfo::AddAnimationForProperty(
}
if (aAnimation->Pending()) {
- const TimeStamp readyTime =
- aFrame->PresContext()->RefreshDriver()->MostRecentRefresh(
- /* aEnsureTimerStarted= */ false);
- MOZ_ASSERT(!readyTime.IsNull());
- aAnimation->SetPendingReadyTime(readyTime);
+ TimeStamp readyTime = aAnimation->GetPendingReadyTime();
+ if (readyTime.IsNull()) {
+ // TODO(emilio): This should generally not happen anymore, can we remove
+ // this SetPendingReadyTime call?
+ readyTime = aFrame->PresContext()->RefreshDriver()->MostRecentRefresh(
+ /* aEnsureTimerStarted= */ false);
+ MOZ_ASSERT(!readyTime.IsNull());
+ aAnimation->SetPendingReadyTime(readyTime);
+ }
MaybeStartPendingAnimation(*animation, readyTime);
}
}
diff --git a/gfx/thebes/gfxPlatformFontList.cpp b/gfx/thebes/gfxPlatformFontList.cpp
index bc0e123f85..404d291e03 100644
--- a/gfx/thebes/gfxPlatformFontList.cpp
+++ b/gfx/thebes/gfxPlatformFontList.cpp
@@ -2209,6 +2209,12 @@ eFontPrefLang gfxPlatformFontList::GetFontPrefLangFor(const char* aLang) {
if (!nsCRT::strcasecmp(gPrefLangNames[i], aLang)) {
return eFontPrefLang(i);
}
+ // If the pref-lang is a two-character lang tag, try ignoring any trailing
+ // subtags in aLang and see if the base lang matches.
+ if (strlen(gPrefLangNames[i]) == 2 && strlen(aLang) > 3 &&
+ aLang[2] == '-' && !nsCRT::strncasecmp(gPrefLangNames[i], aLang, 2)) {
+ return eFontPrefLang(i);
+ }
}
return eFontPrefLang_Others;
}