Bug 1084183 - Propagate text decoration to ruby frames. r=dbaron

This commit is contained in:
Xidorn Quan 2014-11-17 10:26:39 +11:00
Родитель cd03927dbc
Коммит 06a84fbe4a
2 изменённых файлов: 13 добавлений и 5 удалений

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

@ -4871,8 +4871,12 @@ nsTextFrame::GetTextDecorations(
// In all modes, if we're on an inline-block or inline-table (or
// inline-stack, inline-box, inline-grid), we're done.
// If we're on a ruby frame other than ruby text container, we
// should continue.
uint8_t display = f->GetDisplay();
if (display != NS_STYLE_DISPLAY_INLINE &&
(!nsStyleDisplay::IsRubyDisplayType(display) ||
display == NS_STYLE_DISPLAY_RUBY_TEXT_CONTAINER) &&
nsStyleDisplay::IsDisplayTypeInlineOutside(display)) {
break;
}

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

@ -2137,12 +2137,16 @@ struct nsStyleDisplay {
NS_STYLE_POSITION_STICKY == mPosition;
}
static bool IsRubyDisplayType(uint8_t aDisplay) {
return NS_STYLE_DISPLAY_RUBY == aDisplay ||
NS_STYLE_DISPLAY_RUBY_BASE == aDisplay ||
NS_STYLE_DISPLAY_RUBY_BASE_CONTAINER == aDisplay ||
NS_STYLE_DISPLAY_RUBY_TEXT == aDisplay ||
NS_STYLE_DISPLAY_RUBY_TEXT_CONTAINER == aDisplay;
}
bool IsRubyDisplayType() const {
return NS_STYLE_DISPLAY_RUBY == mDisplay ||
NS_STYLE_DISPLAY_RUBY_BASE == mDisplay ||
NS_STYLE_DISPLAY_RUBY_BASE_CONTAINER == mDisplay ||
NS_STYLE_DISPLAY_RUBY_TEXT == mDisplay ||
NS_STYLE_DISPLAY_RUBY_TEXT_CONTAINER == mDisplay;
return IsRubyDisplayType(mDisplay);
}
bool IsFlexOrGridDisplayType() const {