Backed out changeset f0d33d068908 (bug 1779205) for causing gfx related crashes CLOSED TREE

This commit is contained in:
Norisz Fay 2022-08-02 15:24:49 +03:00
Родитель e744c1f7a6
Коммит 6b6c07c221
1 изменённых файлов: 15 добавлений и 26 удалений

Просмотреть файл

@ -107,35 +107,24 @@ class MOZ_STACK_CLASS gfxOTSContext : public ots::OTSContext {
// and possibly OTL and Variation tables (depending on prefs)
if ((!mCheckOTLTables && (aTag == TRUETYPE_TAG('G', 'D', 'E', 'F') ||
aTag == TRUETYPE_TAG('G', 'P', 'O', 'S') ||
aTag == TRUETYPE_TAG('G', 'S', 'U', 'B')))) {
return ots::TABLE_ACTION_PASSTHRU;
}
if (aTag == TRUETYPE_TAG('S', 'V', 'G', ' ') ||
aTag == TRUETYPE_TAG('G', 'S', 'U', 'B'))) ||
(!mCheckVariationTables &&
(aTag == TRUETYPE_TAG('a', 'v', 'a', 'r') ||
aTag == TRUETYPE_TAG('c', 'v', 'a', 'r') ||
aTag == TRUETYPE_TAG('f', 'v', 'a', 'r') ||
aTag == TRUETYPE_TAG('g', 'v', 'a', 'r') ||
aTag == TRUETYPE_TAG('H', 'V', 'A', 'R') ||
aTag == TRUETYPE_TAG('M', 'V', 'A', 'R') ||
aTag == TRUETYPE_TAG('S', 'T', 'A', 'T') ||
aTag == TRUETYPE_TAG('V', 'V', 'A', 'R'))) ||
aTag == TRUETYPE_TAG('S', 'V', 'G', ' ') ||
aTag == TRUETYPE_TAG('C', 'O', 'L', 'R') ||
aTag == TRUETYPE_TAG('C', 'P', 'A', 'L')) {
aTag == TRUETYPE_TAG('C', 'P', 'A', 'L') ||
(mKeepColorBitmaps && (aTag == TRUETYPE_TAG('C', 'B', 'D', 'T') ||
aTag == TRUETYPE_TAG('C', 'B', 'L', 'C'))) ||
false) {
return ots::TABLE_ACTION_PASSTHRU;
}
if (mKeepColorBitmaps && (aTag == TRUETYPE_TAG('C', 'B', 'D', 'T') ||
aTag == TRUETYPE_TAG('C', 'B', 'L', 'C'))) {
return ots::TABLE_ACTION_PASSTHRU;
}
auto isVariationTable = [](uint32_t aTag) -> bool {
return aTag == TRUETYPE_TAG('a', 'v', 'a', 'r') ||
aTag == TRUETYPE_TAG('c', 'v', 'a', 'r') ||
aTag == TRUETYPE_TAG('f', 'v', 'a', 'r') ||
aTag == TRUETYPE_TAG('g', 'v', 'a', 'r') ||
aTag == TRUETYPE_TAG('H', 'V', 'A', 'R') ||
aTag == TRUETYPE_TAG('M', 'V', 'A', 'R') ||
aTag == TRUETYPE_TAG('S', 'T', 'A', 'T') ||
aTag == TRUETYPE_TAG('V', 'V', 'A', 'R');
};
if (!mCheckVariationTables && isVariationTable(aTag)) {
return ots::TABLE_ACTION_PASSTHRU;
}
if (!gfxPlatform::GetPlatform()->HasVariationFontSupport() &&
isVariationTable(aTag)) {
return ots::TABLE_ACTION_DROP;
}
return ots::TABLE_ACTION_DEFAULT;
}