зеркало из https://github.com/mozilla/gecko-dev.git
servo: Merge #16794 - style: Adjust text-align properly for -moz- values in tables (from emilio:table-text-fixup); r=Manishearth
Fixes bug 1363576. Source-Repo: https://github.com/servo/servo Source-Revision: 15f3db5abf5adbf4c85b66b877b8ffa3aaeea666 --HG-- extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear extra : subtree_revision : 837f45093a85997998cbbea2d32e6e578dea44b9
This commit is contained in:
Родитель
0ecd336ddf
Коммит
b99b76b842
|
@ -3383,7 +3383,6 @@ fn static_assert() {
|
|||
<% text_align_keyword = Keyword("text-align",
|
||||
"start end left right center justify -moz-center -moz-left -moz-right char",
|
||||
gecko_strip_moz_prefix=False) %>
|
||||
<% text_align_reachable_keyword = Keyword("text-align", "start end left right center justify char") %>
|
||||
${impl_keyword('text_align', 'mTextAlign', text_align_keyword, need_clone=False)}
|
||||
${impl_keyword_clone('text_align', 'mTextAlign', text_align_keyword)}
|
||||
|
||||
|
|
|
@ -259,6 +259,29 @@ impl<'a, 'b: 'a> StyleAdjuster<'a, 'b> {
|
|||
}
|
||||
}
|
||||
|
||||
/// -moz-center, -moz-left and -moz-right are used for HTML's alignment.
|
||||
///
|
||||
/// This is covering the <div align="right"><table>...</table></div> case.
|
||||
///
|
||||
/// In this case, we don't want to inherit the text alignment into the
|
||||
/// table.
|
||||
#[cfg(feature = "gecko")]
|
||||
fn adjust_for_table_text_align(&mut self) {
|
||||
use properties::longhands::text_align::computed_value::T as text_align;
|
||||
if self.style.get_box().clone_display() != display::table {
|
||||
return;
|
||||
}
|
||||
|
||||
match self.style.get_inheritedtext().clone_text_align() {
|
||||
text_align::_moz_left |
|
||||
text_align::_moz_center |
|
||||
text_align::_moz_right => {}
|
||||
_ => return,
|
||||
}
|
||||
|
||||
self.style.mutate_inheritedtext().set_text_align(text_align::start);
|
||||
}
|
||||
|
||||
/// Adjusts the style to account for various fixups that don't fit naturally
|
||||
/// into the cascade.
|
||||
///
|
||||
|
@ -274,6 +297,7 @@ impl<'a, 'b: 'a> StyleAdjuster<'a, 'b> {
|
|||
self.adjust_for_overflow();
|
||||
#[cfg(feature = "gecko")]
|
||||
{
|
||||
self.adjust_for_table_text_align();
|
||||
self.adjust_for_contain();
|
||||
}
|
||||
#[cfg(feature = "servo")]
|
||||
|
|
Загрузка…
Ссылка в новой задаче